Go (Golang) и микросервисы: от идеи до продакшена — Алексей Петров — обложка книги
300 страниц
Go (Golang)
PDF
4.5

Go (Golang) и микросервисы: от идеи до продакшена

Создание масштабируемых и отказоустойчивых систем на Go

Автор:

Год:

Краткое содержимое:

Книга «Go (Golang) и микросервисы: от идеи до продакшена» — это практическое руководство, которое проведет вас через все этапы создания современных микросервисных приложений на языке Go. Автор, опытный разработчик и архитектор, делится проверенными паттернами, лучшими практиками и реальными кейсами, которые помогут вам избежать типичных ошибок и построить надежную, масштабируемую систему.

О чем книга

Книга охватывает полный жизненный цикл микросервисного проекта: от проектирования архитектуры до развертывания в production. Вы узнаете, как правильно декомпозировать монолит, организовать взаимодействие между сервисами, обеспечить отказоустойчивость и мониторинг. Особое внимание уделяется особенностям языка Go: горутинам, каналам, эффективной работе с памятью и производительности.

  • Архитектура микросервисов: принципы декомпозиции, паттерны Saga, CQRS, Event Sourcing, выбор протоколов (REST, gRPC, GraphQL).
  • Разработка на Go: проектирование API, работа с базами данных (PostgreSQL, MongoDB), обработка ошибок, логирование и конфигурация.
  • Интеграция и обмен данными: синхронное и асинхронное взаимодействие, очереди сообщений (RabbitMQ, Kafka), брокеры событий.
  • Контейнеризация и оркестрация: Docker-контейнеры, Docker Compose, развертывание в Kubernetes, CI/CD пайплайны.
  • Безопасность: аутентификация и авторизация (JWT, OAuth2), управление секретами, защита от DDoS и других атак.
  • Мониторинг и отладка: сбор метрик (Prometheus), трейсинг (Jaeger), централизованное логирование (ELK), профилирование кода.
  • Тестирование: юнит-тесты, интеграционные тесты, контрактное тестирование (Pact), нагрузочное тестирование.

Для кого эта книга

Книга будет полезна:

  • Go-разработчикам, которые хотят перейти от написания монолитных приложений к микросервисной архитектуре.
  • DevOps-инженерам, стремящимся глубже понять особенности развертывания и эксплуатации Go-сервисов.
  • Архитекторам, ищущим проверенные подходы к проектированию распределенных систем.
  • Тимлидам и техническим менеджерам, желающим оценить возможности Go для микросервисной разработки.

Что вы узнаете

После прочтения книги вы сможете:

  • Проектировать микросервисную архитектуру с учетом требований производительности, масштабируемости и отказоустойчивости.
  • Писать эффективные и безопасные микросервисы на Go, используя стандартную библиотеку и популярные фреймворки.
  • Настраивать взаимодействие между сервисами через REST, gRPC и асинхронные очереди.
  • Контейнеризировать приложения и разворачивать их в Kubernetes.
  • Внедрять мониторинг, логирование и трейсинг для контроля состояния системы.
  • Проводить тестирование микросервисов на всех уровнях.

Книга содержит множество примеров кода, диаграмм и практических заданий. Каждая глава завершается резюме и вопросами для самопроверки. Это

Рекомендаций