Microservices with Go: Building scalable and reliable microservices with Go
Эта книга представляет собой практическое руководство по созданию микросервисных архитектур с использованием языка программирования Go. Автор, инженер компании Uber, делится опытом построения надежных и масштабируемых распределенных систем, основанным на реальных промышленных практиках.
В первой части рассматриваются фундаментальные концепции микросервисов, их преимущества и недостатки, а также роль Go в разработке таких систем. Читатель узнает, когда стоит использовать микросервисную архитектуру, а когда лучше придерживаться монолитного подхода.
Вторая часть посвящена практической реализации: структурированию Go-проектов, основам идиоматического Go, работе с интерфейсами, тестированию и использованию контекста. На примере приложения для управления информацией о фильмах демонстрируется создание нескольких взаимодействующих сервисов.
Ключевые технические аспекты включают сервис-дискавери (с использованием Consul и Kubernetes), сериализацию данных (Protocol Buffers), синхронную и асинхронную коммуникацию между сервисами. Особое внимание уделяется вопросам наблюдаемости, мониторинга и обеспечения надежности в распределенных системах.









