Что такое управляемая событиями архитектура?
Управляемая событиями архитектура (EDA) представляет собой интеграционную модель, которая обнаруживает важные "события" в бизнесе (например, транзакцию или брошенную корзину покупок) и действует с ними в режиме реального времени.
Обзор управляемой событиями архитектуры
Практически каждое событие в бизнесе чувствительно к времени. Когда клиент совершает покупку в режиме онлайн, датчик отмечает предстоящую неисправность, цена акций падает или обнаруживается нарушение безопасности – необходимо немедленно принять меры. Здесь используется управляемая событиями архитектура (EDA). Eda может создавать, обнаруживать и реагировать на события по мере их развертывания, помогая компаниям улучшать все аспекты — от клиентского опыта до операционной эффективности и гибкости.
Что такое событие?
Во-первых, некоторые основы. Событие – это любое действие или изменение состояния, важное для бизнеса. Например, при прокрутке кредитной карты, регистрации рейса или сбросе пароля, а также при обновлении запасов на складе. События происходят постоянно, в каждой организации, в каждой отрасли. Компании становятся «ориентированными на события», когда они могут фиксировать события и реагировать на них по мере их возникновения.
Что такое управляемая событиями архитектура?
Управляемая событиями архитектура (EDA) представляет собой интеграционную модель, созданную для публикации, регистрации, обработки и реагирования на события в распределенных системах в реальном времени. При возникновении события в одном приложении сообщение автоматически отправляется всем другим приложениям, которые должны об этом знать, чтобы они могли действовать в свою очередь.
Архитектуры на основе событий разъединены. Это означает, что приложения не должны знать друг друга, чтобы обмениваться информацией и выполнять задачи. Информация о событии или сообщения могут свободно и автоматически передаваться между приложениями. В результате модель EDA намного быстрее традиционной модели запросов/ответов, когда одно приложение должно запросить нужную ему конкретную информацию у другого и дождаться ответа, прежде чем перейти к следующей задаче. Кроме того, из-за разъединенного характера EDA, они широко считаются лучшей практикой для коммуникации с микросервисами.
Как работает EDA?
В управляемой событиями архитектуре приложения выступают в роли производителей событий (приложений, которые производят или фиксируют события) или потребителей событий (приложений, которые обрабатывают события и действуют в отношении событий). Производители передают события потребителям через брокера, ориентированное на сообщения промежуточное ПО, в режиме реального времени. Затем потребители могут обработать событие и инициировать другие операции, потоки операций или собственные события.
В очень простой архитектуре – когда есть один производитель и один потребитель, который находится в прямой связи друг с другом – брокеры могут быть необязательными. Однако в большинстве предприятий существует несколько источников, отправляющих события нескольким потребителям, поэтому требуется брокер или даже сеть брокеров (также известная как «сетка событий»). Когда брокер или event mesh используется, это создает "свободную связь" приложений.
Модели архитектуры на основе событий
Существует два основных шаблона передачи событий в управляемой событиями архитектуре: публикация/подписка и потоковая передача событий.
Publish/subscribe (pub/sub) — с помощью pub/sub потребители подписываются на сообщения и каналы, опубликованные производителями событий. При публикации события оно отправляется напрямую всем подписчикам через брокера. Во избежание дублирования события не могут быть воспроизведены или вызваны после потребления – они удаляются брокером.
Потоковая передача событий — с потоковой передачей событий производители публикуют целые потоки событий брокеру. Потребители подписываются на поток и могут считывать его из любой части, используя только релевантные для него события. По этой схеме брокер сохраняет события даже после их потребления.
3 подхода к обработке событий
Существует три различных подхода к обработке событий, как только они достигают потребителя: простая обработка событий, сложная обработка событий и обработка потока событий.
- Простая обработка событий: потребители обрабатывают каждое событие по мере его получения.
- Сложная обработка событий: потребители обрабатывают ряд событий, чтобы обнаружить закономерности и выполнить действия на основе результата.
- Обработка потока событий. Потребители обрабатывают постоянный поток данных (данные в движении) в реальном времени с помощью платформы потоковой передачи данных.
Компании выбирают подход к обработке событий в соответствии с индивидуальными потребностями и сценариями использования.
Сценарии использования архитектуры на основе событий и примеры
Существует множество различных сценариев использования управляемых событиями архитектур в каждой отрасли — от банковского дела до розничной торговли. Вот пример из ресторанной индустрии:
Студент колледжа размещает заказ на пиццу с помощью приложения для доставки еды, например, Uber Eats. Приложение собирает основную информацию (имя, адрес, платежную информацию и заказ) и публикует событие «заказ пиццы».
Пиццерный ресторан подписывается на мероприятие, выполняет заказ и публикует собственное «готовое к заказу» мероприятие обратно в службу доставки еды.
Затем сервис назначает водителя, планирует предполагаемое время прибытия и предупреждает клиента о том, что его круговая диаграмма находится в пути.
Пример EDA для электронной коммерции:
В интернет-магазине данные кредитной карты вводятся на сайте электронной коммерции, где публикуется событие «платеж отправлен»
Платежная система подписывается на событие, обрабатывает платеж и выдает собственное событие «платеж обработан», указывающее на успех или сбой – и направляет его обратно в пользовательский интерфейс веб-сайта
В пользовательском интерфейсе отображается статус платежа для клиента и предлагаются следующие шаги
Некоторые другие примеры EDA:
Когда онлайн-покупатель щелкает по продукту, и система реагирует, генерируя рекомендации по продуктам на основе аналогичных товаров
Когда клиент предъявляет чек в банке, и система автоматически проводит депозит по его счету
Когда розничный торговец просматривает глобальные операции для мошенничества и помечает любые подозрительные покупки в компании кредитной карты
Когда производитель отслеживает потоковую передачу данных Интернета вещей из своего оборудования и получает предупреждение о любых потенциальных проблемах или неисправностях
Преимущества управляемой событиями архитектуры
Управляемая событиями архитектура имеет множество преимуществ. Первые 3:
- Потоки операций в реальном времени и скорость реагирования. EDA может отслеживать события и быстро реагировать на них по мере их возникновения, часто используя роботизированную автоматизацию процессов (РАП) для ускорения потоков операций и инициирования следующих шагов в реальном времени. Это особенно важно во время пиковой потребности, например, во время крупных торговых или праздничных дней. Такая отзывчивость может быть применена и к повседневным (т.е. непиковые) рабочие процессы, улучшающие все аспекты — от автоматизации цепочки поставок до выявления мошенничества.
- Асинхронный обмен сообщениями. Приложения в EDA взаимодействуют асинхронно – это означает, что производители публикуют сообщения о событиях, не дожидаясь их получения потребителями. Это не только позволяет приложениям переходить к другим задачам без ожидания, но и упрощает интеграцию.
- Де- и слабая связь. Приложения в EDA разъединены или слабо связаны и не зависят друг от друга. Их можно обновлять, тестировать и развертывать независимо. Они также могут потерпеть неудачу независимо друг от друга, поэтому архитектура является более долговечной и устойчивой, чем традиционные модели. Разъединение также упрощает добавление дополнительных издателей и потребителей по мере необходимости, устраняя необходимость переписывать код при каждом изменении.
Заключение
Event Mesh предлагает варианты развертывания в разных гиперскейлерах и в частных облачных средах. Его можно настроить для формирования распределенной сетки брокеров событий, развернутых в средах в частных или общедоступных облаках. Event Mesh предлагает полный набор сервисов управления событиями, включая потоковую передачу событий, управление событиями и мониторинг, а также расширенные функции, такие как динамическая маршрутизация сообщений и детализированная фильтрация.
Подробнее о возможностях сетки событий SAP
Управляйте приложениями с помощью архитектуры на основе событий от SAP Integration Suite.
Идеи, которые вы больше нигде не найдете
Зарегистрируйтесь, чтобы получить дозу информации и аналитики, поставляемой прямо на ваш почтовый ящик.