Как подключить внешний сервис к очереди через Gateway / Api Gateway / Rest? - PullRequest
0 голосов
/ 03 января 2019

Я хотел бы разрешить внешнему сервису использовать мои очереди RabbitMQ, вопрос в том, что я не хочу предоставлять прямой доступ к соединению с RabbitMQ, который я бы хотел предоставить через Gateway / API Manager / Rest Endpoint.

Я не уверен, возможно ли это, но я хотел бы знать, каким образом можно оставлять события в очереди, которые могут использоваться внешними службами, открытыми для безопасности или централизованными, как Gateway.

Спасибо всем что ответили:)

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Как ответила @ KaNa0011, обратные вызовы могут быть решением, но это накладывает дополнительную ответственность на производителя (что, если приемник недоступен?)

Другой подход состоит в том, чтобы представить ваши события в качестве канала Atom. Это то, что объясняет здесь Оливер Гирке в своем выступлении «Рефакторинг в системе системы» : https://youtu.be/MEySjYD86PQ?t=5487

0 голосов
/ 03 января 2019

Вы можете попытаться создать службу обратного вызова.

Система будет принимать (или даже сохранять) POST URL-адреса.Когда ваш собственный потребитель очереди потребляет сообщение, он просто отправляет сообщение очереди (возможно, с дополнительными данными) в качестве обратного вызова к сохраненным вами URL-адресам.Затем серверы, к которым принадлежит URL, будут делать все, что им нужно, с сообщениями, отправленными вашей службой обратного вызова.

...