Тема служебной шины Azure может использоваться для личного сообщения

В отличие от очередей служебной шины Azure, которые позволяют нам доставлять сообщения "один-к-одному", темы служебной шины Azure позволяют доставлять сообщения "один-ко-многим". Это означает, что мы можем доставить одно и то же сообщение нескольким клиентам, называемым подписчиками. Эта система обмена сообщениями в основном представляет собой систему ESB (Enterprise Service Bus), позволяющую осуществлять обмен данными «публикация / подписка».

У меня несколько клиентов, и я создал тему для каждого клиента. Всякий раз, когда сервер отправляет сообщение клиенту, он просто помещает сообщение в тему клиента. Возможно ли, если я создам одну тему и несколько подписчиков, чтобы каждый клиент просто слушал только свое сообщение?


person Mashhad Saleem    schedule 03.06.2020    source источник


Ответы (1)


Возможно ли, если я создам одну тему и несколько подписчиков, чтобы каждый клиент просто слушал только свое сообщение?

Конечно, это возможно. Что вам нужно сделать, так это настроить правила фильтрации тем, чтобы каждая подписка получала сообщение на основе определенных для них критериев фильтрации. Подробнее о правилах фильтрации можно узнать здесь: https://docs.microsoft.com/en-us/azure/service-bus-messaging/topic-filters.

По этой ссылке:

Подписчики могут определять, какие сообщения они хотят получать от темы. Эти сообщения указываются в форме одного или нескольких именованных правил подписки. Каждое правило состоит из условия, которое выбирает определенные сообщения, и действия, аннотирующего выбранное сообщение. Для каждого условия правила сопоставления подписка создает копию сообщения, которая может иметь разные аннотации для каждого правила сопоставления.

person Gaurav Mantri    schedule 03.06.2020
comment
влияет ли это правило фильтрации на эффективность? - person Mashhad Saleem; 03.06.2020
comment
Я не в курсе, извините. - person Gaurav Mantri; 03.06.2020