Szukam informacji na temat komunikacji front/backend w mikroserwisach opartych o RabbitMQ, ale niestety bezskutecznie.
Załóżmy, że mam prostą strukturę:
- Front
- API Gateway
- Mikroserwisy: A, B, C które komunikują się asynchronicznie przy użyciu Rabbita.
Jak powinna wyglądać komunikacja Frontu z Backendem w przypadku potrzeby pobrania listy w postaci kompozycji danych z mikroserwisu A i B? Front powinien komunikować się w takiej sytuacji z API Gateway, a API Gateway synchronicznie pobierać dane z danego mikroserwisu poprzez wewnętrzne requesty? Czy może lepiej zrezygnować zupełnie z API Gateway i komunikować się bezpośrednio z danym mikroserwisem?
Myślałem też, że można by zrobić jakiś agregat do odczytu, który miałby dane wszystkich mikroserwisów i byłyby synchronizowany poprzez Rabbita z mikroserwisami. Wtedy komunikacja w przypadku takich synchronicznych requestów byłaby Front <-> API Gateway <-> Agregat
Dobrze myślę, czy to zupełnie inaczej powinno wyglądać?
Nikt, nic? Zły dział? Myślałem, że ktoś coś podpowie :-)