«Создание событийно-управляемых микросервисов» Адама Беллемара
tldr: введение в событийно-ориентированную архитектуру (EDA) на основе микросервисов
субъективная оценка: 5/5 (хорошая книга по основам EDA)
Недавно дочитал книгу Создание событийно-управляемых микросервисов Адама Беллемара. Решил поделиться своими впечатлениями после прочтения.
Это моя первая книга про событийно-ориентированную архитектуру (EDA), поэтому сравнивать не с чем, но на мой вкус, автору удалось ясно изложить философию EDA, базовые паттерны и подходы к построению такой архитектуры на на основе микросервисов.
После чтения книги про kafka, всегда оставалось чувство недосказанности: знаешь внутрянку, а как правильно варить ответа нет. Эта книга полностью ответила на большую часть вопросов, которые я задавал себе при чтении книг про kafka. Если кратко, то ответы сводятся к следующим принципам:
- нужно различать брокер событий от брокера сообщений
- события хранятся в логе, с возможностью перепрочтения
- события являются самодостаточными источниками правды, для больших объектов имеют ссылку на объект в s3
- материализация событий в таблице — рапространенная практика для работы с событиями последовательность которых важна
- освобождение данных — паттерн, который спасет от ETL и излишних HTTP интеграций внутри компании
Самыми интересными оказались главы 1-10, в них прогоняется база и паттерны. Говорится о работе команд и как можно затаскивать EDA на микросервисах. В главах 11-12 рассказывается про фреймворки, которые реализуют рутинную работу, например по материализации событий. Главы 13-17 уже не такие интересные для меня были, рассказывается поверхностно про интеграции с HTTP API, вспомогательные интрсументы и тестировнаие, что отчасти я и так знал, а отчасти рассказывалось в предыдущих главах