По сути, модель Pub/Sub обработки событий Azure Event Grid может обрабатывать два шаблона обмена сообщениями/посредничества, например шаблон Fan-In и шаблон Fan-Out (широковещательная рассылка). Следующие фрагменты экрана показывают их различия:
![введите описание изображения здесь](https://i.stack.imgur.com/vO5AP.jpg)
![введите описание изображения здесь](https://i.stack.imgur.com/Hq0zH.jpg)
Логическая связь между источником событий и приемником событий описывается подпиской, которая в основном является артефактом метаданных модели Pub/Sub. Каждая логическая связь (представленная подпиской) независима и слабо связана с другими. Другими словами, каждый подписчик может обрабатывать в этой модели Pub/Sub только одно логическое соединение, например, только один источник событий.
Ваш вопрос связан с шаблоном разветвления (трансляции), когда интерес к событию передается нескольким подписчикам с использованием режима доставки PushWithAck. Каждая подписка в рамках этого шаблона разветвления имеет собственную «машину доставки состояния сообщения», объявленную подписчиком, например, возможность повторной попытки, удаление недоставленных сообщений, фильтрацию и т. д.
Другими словами, доставка событий подписчикам обрабатывается параллельно на основе их подписки прозрачным образом без какой-либо зависимости друг от друга. Обратите внимание, что подписчик не имеет никакой информации о том, кто, где, как и т. д. доставляет событие другому один раз, поэтому каждый подписчик может видеть только свое состояние доставки, например, значение параметра Aeg-Delivery. -Count показывает счетчик повторных попыток конечного автомата.
Таким образом, в случае неудачной доставки события одному из нескольких подписчиков включенный процесс повторной попытки выполняется только для этого подписчика.
person
Roman Kiss
schedule
23.01.2019