AMQP для связи микросервисов путем отправки событий с помощью Symfony Messenger - PullRequest
0 голосов
/ 28 июня 2019

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

У Symfony есть отличный пакет под названием Messenger, но во всех примерах, которые я видел, используются классы, которые разделяются производителем и потребителем, потому что они находятся в одном коде или системе.

https://symfony.com/doc/current/components/messenger.html

ИтакМне интересно, смогу ли я использовать этот пакет для создания события, полезная нагрузка которого могла бы использоваться потребителем, не имея такого же события класса.

Может быть массив?Нужно ли реплицировать класс событий сообщений в обеих системах?

Обе системы имеют продукты, но они не обязательно должны быть одним и тем же "объектом", они разделяют по крайней мере уникальный код, такой как EAN или SKU, для отслеживаниялюбое изменение.

Я знаю, что могу напрямую использовать php-amqplib, отправлять полезные данные любого типа и создавать потребителя, который знает, как с ним справиться.Но я обнаружил, что Symfony Messenger - это простой и отличный способ создания сообщений для отправки, но меня смущает то, как он связывает сообщения и обработчик, когда производитель и потребитель находятся в разных системах.

Может ли кто-нибудь привести пример, используя этот пакет?

Спасибо!

...