RabbitMQ обрабатывает полученные события темы - PullRequest
0 голосов
/ 27 ноября 2018

Скажем, я использую канал с очередью, связанной с несколькими ключами маршрутизации.Так, например, я получаю такие события, как user.updated, order.created и т. Д.

Когда я получаю эти события, как правильно их обрабатывать?В примере в документации (который использует pubsub) используется менеджер подписок.Этот менеджер подписки содержит события (в виде строки) и их обработчики.Поэтому, когда вы получаете событие, вы ищете соответствующий обработчик и запускаете метод handle.Я предполагаю, что по темам можно использовать аналогичный подход?

Это способ обработки событий в корпоративных приложениях?Какие еще есть методы?Одной из проблем, с которыми я сталкиваюсь, является то, что когда сериализованное событие из приложения A десериализуется в приложении B, но больше не совпадает, потому что добавлено поле или что-то еще.

Чтобы предотвратить это, общая библиотека «события»может быть создан, который содержит все события, но я читал в нескольких статьях, это плохая практика для совместного использования библиотек между MicroServices.

GITHUB:

RabbitMq pub / sub:https://github.com/dotnet-architecture/eShopOnContainers/blob/master/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.cs

Менеджер подписок RabbitMq: https://github.com/dotnet-architecture/eShopOnContainers/blob/master/src/BuildingBlocks/EventBus/EventBus/InMemoryEventBusSubscriptionsManager.cs

Документы: https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/multi-container-microservice-net-applications/rabbitmq-event-bus-development-test-environment

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...