Event-Driven Architecture in Golang: Building complex systems with asynchronicity and eventual consistency
Эта книга представляет собой практическое руководство по проектированию и реализации сложных распределённых систем с использованием событийно-ориентированной архитектуры (EDA) на языке Go. Автор, Майкл Стак, делится своим более чем 20-летним опытом в разработке программного обеспечения, фокусируясь на создании отказоустойчивых и масштабируемых микросервисов.
В первой части книги рассматриваются фундаментальные концепции EDA, включая различные типы событий (уведомления, передача состояния, событийное проектирование), их преимущества и вызовы. Особое внимание уделяется таким аспектам, как согласованность в конечном счёте, распределённые асинхронные workflows и отладка сложных систем.
Книга также охватывает ключевые поддерживающие методологии, такие как предметно-ориентированное проектирование (DDD), и демонстрирует их применение в контексте событийно-ориентированных систем. Практическая часть построена вокруг примера приложения MallBots, которое служит наглядным case study для реализации рассмотренных концепций.
Издание предназначено для разработчиков и архитекторов, которые хотят освоить построение современных распределённых систем на Go, используя преимущества асинхронной коммуникации и событийных моделей для достижения высокой масштабируемости и отказоустойчивости.