Что такое событийно-управляемая система?
Автор: Gaurav Sen
Загружено: 2018-06-01
Просмотров: 382170
Системы, управляемые событиями, передают и сохраняют события. Они эволюционировали из модели «издатель-подписчик», и такая архитектура имеет ряд преимуществ. События неизменяемы и могут быть воспроизведены, что позволяет системам делать снимки своего поведения. Это позволяет сервисам «самовосстанавливаться», как объясняется в видео.
Многие проблемы с транзакциями решаются после добавления в систему идемпотентности и логики повторных попыток. Система может повторять отправку сообщений получателю бесконечное количество раз, пока получатель не примет сообщение и не получит подтверждение.
Системы, управляемые событиями, тесно связаны с источниками событий и CQRS. Грег Янг и Мартин Фаулер уже некоторое время говорят об этих системах. События сохраняются в чем-то вроде очереди сообщений, и, следовательно, ответственность за повторные попытки и сохранение событий перекладывается на неё.
Эти абстракции позволяют программисту сосредоточиться на бизнес-логике системы и добавлять подписчиков на события с минимальной взаимосвязью с другими сервисами. Разделение системы — одно из преимуществ систем, управляемых событиями.
Одним из основных недостатков этой системы является сложность анализа потока запросов. Сервисы могут самостоятельно регистрироваться на событие и обрабатывать его, не информируя издателя.
Мы рассмотрим различные приложения, использующие событийно-ориентированную архитектуру, такие как Git и игровые системы. Затем мы обсудим преимущества и недостатки такой архитектуры (Event Sourcing).
Код:
https://github.com/coding-parrot/Low-...
Хотите отлично пройти собеседование? Попробуйте этот видеокурс по системному проектированию! 🔥
https://interviewready.io
00:00 Событийно-управляемые системы
01:17 Примеры EDA
03:42 Функции
04:09 Преимущества
04:19 Доступность
06:14 Откат
06:50 Замены
07:30 Транзакции
09:00 Недостатки
12:32 Когда следует использовать?
14:24 Примеры из реальной жизни
14:40 Спасибо!
Ссылки:
Мартин Фаулер: • The Many Meanings of Event-Driven Architec...
Блог Мартина Фаулера: https://martinfowler.com/articles/201...
Википедия: https://en.wikipedia.org/wiki/Event-d...
Крис Ричардсон: http://microservices.io/patterns/data... (Я скоро расскажу об этом!)
Вы можете найти меня здесь:
/ gkcs0
https://www.quora.com/profile/Gaurav-...
/ gaurav-sen-56b6a941
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: