Упражнение. Публикация событий и подписка на события с помощью функции "Публикация и подписка"
В розничном приложении программное обеспечение, созданное отделами инвентаризации и доставки, должно реагировать на события друг друга в рамках типичного рабочего процесса. Например, после отгрузки заказа микрослужба инвентаризации должна вычитать товар из запасов.
В этом упражнении реализуйте pub/Sub в экземпляре Кэш Azure для Redis с помощью нескольких окон консоли.
Откройте консоль кэша Azure для Redis в двух экземплярах браузера.
Обратите внимание на двух отдельных клиентов, отправляющих и получающих сообщения через два уникальных экземпляра браузера. Каждый экземпляр браузера имеет консоль Redis, чтобы иллюстрировать функциональные возможности pub/Sub в режиме реального времени.
Открытие первого экземпляра браузера
Войдите на портал Azure , используя ту же учетную запись, с помощью которой вы активировали песочницу.
В категории Службы Azure выберите Больше служб, затем категорию Базы данных и щелкните Кэш Azure для Redis.
Выберите экземпляр Кэша Azure для Redis, созданный в предыдущем упражнении.
В области ресурсов выберите консоль , чтобы открыть консоль Redis.
Оставьте консоль открытой для выполнения последующих задач в этом упражнении.
Открытие второго экземпляра браузера
Войдите на портал Azure под той же учетной записью, которая использовалась для активации песочницы, а отдельном окне или на отдельной вкладке браузера.
В категории Службы Azure выберите Больше служб, затем категорию Базы данных и щелкните Кэш Azure для Redis.
Выберите экземпляр Кэша Azure для Redis, созданный в предыдущем упражнении.
В области ресурсов выберите консоль , чтобы открыть консоль Redis.
Оставьте консоль открытой для выполнения последующих задач в этом упражнении.
На этом этапе необходимо открыть два экземпляра обозревателя с экземпляром консоли Redis.
Совет
Если операционная система позволяет, рекомендуем закрепить окна браузера рядом — так будет проще выполнить оставшуюся часть этого упражнения.
Подписка на известный канал и публикация сообщений
Подпишитесь на каналы с помощью команды SUBSCRIBE
, а затем опубликуйте сообщения с помощью команды PUBLISH
.
В консоли первого экземпляра браузера выполните следующие действия:
Введите следующую команду и нажмите клавишу ВВОД, чтобы начать прослушивание сообщений в канале org.shipping.alerts.
SUBSCRIBE org.shipping.alerts
Обратите внимание на ответ консоли, указывающий, что теперь он прослушивает канал org.shipping.alerts .
Reading messages... (press ENTER to quit) 1) "subscribe" 2) "org.shipping.alerts" 3) (integer) 1
В консоли второго экземпляра браузера выполните следующие действия:
Введите следующую команду и нажмите клавишу ВВОД , чтобы отправить новое сообщение с содержимым labelprint-sdf9878 в канал org.shipping.alerts.
PUBLISH org.shipping.alerts labelprint-sdf9878
Введите следующую команду и нажмите клавишу ВВОД , чтобы отправить новое сообщение с содержимым labelprint-sdf9878 в канал org.shipping.alerts.
PUBLISH org.shipping.alerts packagesent-sdf9878
Вернитесь в консоль первого экземпляра браузера и выполните следующие действия:
В консоли появится первый ответ с информацией о получении нового сообщения в канале org.shipping.alerts.
1) "message" 2) "org.shipping.alerts" 3) "labelprint-sdf9878"
В консоли появится второй ответ с информацией о получении нового сообщения в канале org.shipping.alerts.
1) "message" 2) "org.shipping.alerts" 3) "packagesent-sdf9878"
Чтобы остановить прослушивание событий в консоли, нажмите клавишу ВВОД.
Введите следующую команду и нажмите клавишу ВВОД, чтобы очистить выходные данные в консоли.
clear
Вернитесь в консоль второго экземпляра браузера и выполните следующие действия:
Введите следующую команду и нажмите клавишу ВВОД, чтобы очистить выходные данные в консоли.
clear
Подписка на шаблон каналов и прослушивание сообщений
Подпишитесь на шаблон каналов с помощью команды PSUBSCRIBE
, а затем опубликуйте сообщение с помощью команды PUBLISH
.
В консоли первого экземпляра браузера выполните следующие действия:
Введите следующую команду и нажмите клавишу ВВОД, чтобы начать прослушивание сообщений в канале org.shipping.alerts.
PSUBSCRIBE org.inventory.*
Обратите внимание на ответ консоли, указывающий, что он прослушивает шаблон канала org.inventory.* .
Reading messages... (press ENTER to quit) 1) "psubscribe" 2) "org.inventory.*" 3) (integer) 1
В консоли второго экземпляра браузера выполните следующие действия:
Введите следующую команду и нажмите клавишу ВВОД, чтобы отправить новое сообщение с содержимым item-sku-318947 в канал org.inventory.empty.
PUBLISH org.inventory.empty item-sku-318947
Введите следующую команду и нажмите клавишу ВВОД, чтобы отправить новое сообщение с содержимым order-dsy3821 в канал org.shipping.sent.
PUBLISH org.shipping.sent order-dsy3821
Примечание.
Так как этот канал не соответствует шаблону org.inventory.*, эта команда не отправит сообщение другому клиенту.
Вернитесь в консоль первого экземпляра браузера и выполните следующие действия: