Я изучил оба продукта — Azure Event Grid и Azure Event Hub, чтобы узнать, какой инструмент лучше подходит для моего случая использования. Я поделюсь кратким описанием своего варианта использования, надеюсь, это внесет некоторую ясность в мою дилемму:
Вариант использования
При изменении состояния пользователя службе необходимо опубликовать событие, сообщающее, что состояние пользователя изменилось. В полезную нагрузку события она будет включать несколько свойств, таких как отметка времени, причина изменения состояния и т. д. — я опускаюсь ниже. составленная схема. Будет несколько потребителей этих событий, каждый потребитель имеет свою собственную логику обработки событий, и ВСЕ из них должны получать одно и то же событие, чтобы они могли выполнять свои функции. Я ожидаю, что в среднем будет опубликовано около 40 тысяч событий в день, могут быть дни, когда можно будет публиковать и 80 тысяч событий... в конце дня я бы сказал, что будет менее 100 тысяч событий. опубликовано за день.
Схема событий
{
"userId": "",
"reason": "",
"timestamp": "",
"creationDate": "",
"secondaryId": ""
}
Я вижу, что Azure Event Hub действительно хорошо справляется с обработкой больших объемов данных (миллионы событий в секунду), хотя мой вариант использования не кажется слишком большим для обработки данных. Я хочу продолжать доставку по запросу, поэтому, предполагая, что я хочу использовать Azure Event Grid, я бы создал подписку на события очереди, чтобы потребители могли получать информацию в своем собственном темпе. Центр событий Azure, кажется, присутствует на рынке уже некоторое время, а Сетка событий Azure — нет (в частности, эта подписка на события очереди), поэтому, возможно, Центр событий Azure более зрелый в этой области — пожалуйста, будьте честны, я использовал этот блог в качестве источника. : https://yourazurecoach.com/2023/12/22/azure-service-bus-vs-event-grid-pull-delivery/ . Любые мысли, рекомендации будут высоко оценены. Я также могу предоставить дополнительную информацию, если необходимо.
Спасибо!
В вашем случае использование Центров событий кажется излишним. Во всяком случае, служебная шина с подписками, вероятно, является лучшим вариантом, чем концентраторы событий. С другой стороны, «Сетка событий» с опцией извлечения очень похожа. Если вы новичок в обмене сообщениями, служебная шина может оказаться более доступной для начала и поиска необходимой информации. Event Grid v2 является относительно новой версией, и в Интернете, вероятно, меньше материалов, на которые можно положиться при выяснении ситуации. С точки зрения пропускной способности, 100 тыс. сообщений в день составляют ~70 сообщений в секунду, что очень низкая пропускная способность и легко обрабатывается любой из служб.
Я рекомендую выбрать оба варианта: «Служебную шину» и «Сетку событий» и проверить, какой сервис будет более удобен для вас и вашей команды.
Как бы то ни было, я согласен с Шоном и получаю +1 к его рекомендации.