Как настроить RabbitMQ в API Gateway с возможностью возвращать клиенту запрошенные им данные?

Всем привет!
Я пытаюсь настроить api gateway (krakend) на асинхронное общение с сервисами через rabbitmq и у меня примерно получилось настроить очередь на такое общение...

Схема следующая:
клиент(http client) -> api gateway(krakend) -> очередь(rabbitmq) -> сервисы

Но я уперся в стенку, когда дошел до того момента, где мне нужно вернуть клиенту запрошенные им данные по очереди.
Не знаю как это реализовать, хотел спросить, есть ли возможность организовать такую очередь и как-то узнавать нужного клиента и передать ему именно те данные, которые он запросил?

Например, допустим, есть 3 клиента:
1 клиент просит список товаров;
2 клиент просит список категорий;
3 клиент просит список пользователей.

Все эти запросы проходят по цепочке к сервисам и сервисы отдают эти данные через одну очередь и кракен, который слушает эту очередь забирает эти данные и отдает клиенту по запросу. Тут как-то нужно определять и различать клиентов, чтобы не отдать клиенту не те данные.
Допустим, клиент запросил список товаров, а мы ему отдаем список пользователей, это будет ошибкой.

Схема общения: сервисы -> очередь(rabbitmq) -> api gateway(krakend) -> клиент(http client)

Да, тут можно разделить запросы по типу и кинуть их в разные очереди, но у меня по любому будут отличные данные в одной очереди, которых нужно будет отдавать разным клиентам(например, если это товары, то один клиент запросил определенные айфоны, а другой клиент запросил андроиды).

Может кто-нибудь подсказать как это можно правильно организовать?
  • Вопрос задан
  • 552 просмотра
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
вызывай Кракена

братан, на Кролике же офигенный хелп, наверно, самый офигеннейший из подобных
https://www.rabbitmq.com/getstarted.html

в каком месте у тебя затык?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы