Микросервис извлекает OrderId из раздела служебной шины Azure - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь понять Azure служебную шину, которую я намерен использовать в текущем проекте. Я совершенно новичок в этом.

Вот сценарий. Существует два микросервиса.

Микросервис A - записывает сведения о заказе в базу данных, а также записывает OrderId на Azure служебную шину topi c

Микросервис B - должен иметь возможность забрать OrderId, когда он существует, из той же топики c и использует его для обработки некоторых других транзакций. Пользователи могут создавать несколько OrderId в день.

Как мне настроить Microservice B для выполнения этой обязанности? Как это работает в реальности? Как этот микросервис может постоянно контролировать topi c?

1 Ответ

0 голосов
/ 10 февраля 2020

Вы можете написать работу, чтобы проверять новое сообщение каждые X секунд или непрерывно, но это не очень хороший подход. Лучшим способом является подход Pub-sub.

В pub-sub, когда сообщение приходит в topi c, любая служба, подписанная на topi c, получает сообщение и не нуждается в его опросе. Ваш Microservice B должен быть подписан на topi c, и на него будет отправлено сообщение.

Чтобы ваша микросервис B подписался на сообщение, у вас есть два варианта. Либо вы можете azure функцию, которая будет автоматически обрабатывать сообщение для вас. Если вы не хотите писать функцию azure, вам придется использовать Azure Service Bus Library для этого. Официальный пример содержит только консольное приложение ( Pub-Sub Azure Service Bus ), однако для. Net Core Web API вы можете посмотреть здесь Подписаться Azure Service Bus

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