Событийные паттерны с EventBridge
Развёртывание приложений на AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Один заказ — четыре реакции
Один заказ должен поступить в биллинг, обработку, аналитику и email
Прямые вызовы всех четырёх сервисов ненадёжны и медленны
Одно событие передаётся всем потребителям
Выбор подходящего сервиса обмена сообщениями
SQS
: одна очередь, одна группа потребителей, доставка минимум раз
SNS
: pub/sub, отправка одного сообщения многим подписчикам
EventBridge
: маршрутизация событий по содержимому к нескольким целям
Kinesis Data Streams
: упорядоченная потоковая передача с воспроизведением
Паттерн fanout
Одно событие должно поступить
нескольким потребителям
одновременно
Публикация в
топик SNS
Каждая
очередь SQS
подписывается на топик
Каждый потребитель получает свою копию независимо
Фильтрация: потребители получают только нужное
Без фильтров каждый подписчик получает
все события
Политики фильтрации подписок SNS
: фильтрация по атрибутам сообщений
Фильтры содержимого EventBridge
: сопоставление по полям события
Каждый потребитель получает только нужные ему события
Маршрутизация с помощью EventBridge
Шина событий
: принимает события из множества источников
Правило
: паттерн события для отбора определённых событий
Цель
: куда отправляются совпавшие события
Одно событие может быть направлено к нескольким целям
Потоковая передача с Kinesis Data Streams
Непрерывный поток
записей в реальном времени
Упорядоченные
записи внутри шарда
Воспроизведение
: потребители могут читать с любой точки
Несколько потребителей читают
один
поток независимо друг от друга
Подходит для кликстрима, телеметрии и высоконагруженных данных
Lambda как потребитель событий
Lambda может запускаться из
SQS, SNS, EventBridge, Kinesis
Сопоставление источников событий
автоматически опрашивает SQS и Kinesis
SNS и EventBridge
отправляют
события в Lambda напрямую
Обработка почти в реальном времени без управления серверами
Давайте потренируемся!
Развёртывание приложений на AWS
Preparing Video For Download...