CourseHunter
  • Источники
  • Курсы
    • Популярные
    • Бесплатные (2999+ Курсов)
  • Книги
    • Бесплатные
    • Популярные
  • Тарифы
Войти
🎯 11.11 — четыре единицы подряд. Бухгалтер сдался, промокод:даёт −50% на все пакеты до 12 ноября.Забрать скидку →
Главная страницаКатегория golang (google go)Распределённые системы на Go

Распределённые системы на Go

Distributed Systems in Go

Joel Bryan Juliano logo
Joel Bryan Juliano
★3.3 (всего оценок - 9)
Распределённые системы на Go
Начать Сейчас
Категория
Golang (Google Go)
Дата добавления
3 окт. 2026 г., 00:52
Язык
Английский
Дата обновления
21 окт. 2026 г., 21:26

«Распределённые системы на Go» (Distributed Systems in Go) — практическое руководство по проектированию, разработке и развёртыванию надёжных распределённых систем с использованием языка Go. Книга основана на реальном опыте автора в создании и эксплуатации облачных распределённых систем и охватывает весь путь от разработки отдельных HTTP-сервисов до построения полноценной микросервисной архитектуры.

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

Знание теоремы CAP и основных принципов распределённых вычислений — лишь отправная точка. Настоящие сложности начинаются в реальных условиях, когда потребители Kafka не успевают обрабатывать сообщения, межсервисные запросы завершаются по тайм-ауту, а определить источник проблемы становится всё сложнее.

Эта книга помогает преодолеть разрыв между теорией и практикой. Автор последовательно демонстрирует создание полноценной распределённой системы, рассматривая аутентификацию, базы данных, очереди сообщений, gRPC, механизмы отказоустойчивости и распределённую трассировку.

Каждая глава посвящена определённому архитектурному шаблону, который затем реализуется в виде повторно используемых компонентов платформенного SDK. К 15-й главе читатель создаст готовую к развёртыванию систему из шести сервисов и собственный SDK, упрощающий разработку последующих приложений.

Что вы изучите и создадите

  • HTTP-сервисы: разработка HTTP-сервисов на Go с использованием компонуемых промежуточных обработчиков (middleware) без необходимости подключения дополнительных фреймворков.
  • Аутентификация и безопасность: реализация JWT-аутентификации с цифровой подписью ECDSA и подключаемыми агентами аутентификации.
  • PostgreSQL и управление данными: организация работы с базами данных, выполнение миграций без остановки системы и реализация паттерна Transactional Outbox.
  • Apache Kafka: создание производителей и потребителей сообщений, управление обратным давлением (backpressure) и использование очередей недоставленных сообщений (Dead Letter Queue).
  • gRPC и межсервисное взаимодействие: настройка взаимодействия между сервисами с механизмами повторных попыток, тайм-аутами и автоматическими выключателями (Circuit Breaker).
  • Распределённая согласованность: применение паттерна Saga, ключей идемпотентности и механизмов сверки данных (Reconciliation).
  • Мониторинг и наблюдаемость: внедрение структурированного логирования с помощью slog, сбор метрик через Prometheus и распределённая трассировка с использованием OpenTelemetry.
  • Тестирование и отказоустойчивость: тестирование компонентов на реальной инфраструктуре с помощью Testcontainers, моделирование сбоев и применение подходов хаос-тестирования.
  • Развёртывание в Kubernetes: подготовка конфигурационных манифестов и развёртывание полноценной распределённой системы, состоящей из шести сервисов.

Практический результат

Главная особенность книги — последовательное создание реальной системы, а не изучение отдельных инструментов в отрыве от практики.

Каждый пример кода является полным и самодостаточным. По мере изучения материала читатель не только осваивает архитектурные подходы, но и формирует собственную библиотеку повторно используемых компонентов.

В результате вы получите работающую распределённую систему из шести сервисов, готовую к развёртыванию, а также платформенный SDK, который позволит быстрее и эффективнее создавать новые сервисы.

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

Книга предназначена для Go-разработчиков, которые уже умеют создавать отдельные приложения и сервисы, но хотят перейти к проектированию полноценных распределённых систем.

Она будет особенно полезна инженерам, работающим с микросервисами, облачной инфраструктурой, базами данных и асинхронной обработкой сообщений.

Если вам приходилось копировать middleware без полного понимания его устройства, разбираться с ошибками context deadline exceeded или искать причины сбоев сразу в нескольких взаимодействующих сервисах, эта книга поможет систематизировать знания и освоить практические инструменты для решения подобных задач.

Автор - Joel Bryan Juliano

Joel Bryan Juliano logo

Joel Bryan Juliano

Джоэл Брайан Джулиано (Joel Bryan Juliano) — инженер-программист с более чем 20-летним опытом работы в IT. За свою карьеру работал в различных отраслях, включая спортивные стриминговые сервисы и кибербезопасность, накопив обширный опыт разработки программного обеспечения и решения сложных технических задач.Родом с Филиппин, сегодня является гражданином Нидерландов и проживает с семьёй в Амстердаме. Автор технических книг, в которых делится профес

LinkedInX (Twitter)GitHub
Автор

Другие материалы в этой категории

Проектирование современных распределённых веб-сервисов

Проектирование современных распределённых веб-сервисов

Распределённые системы

Распределённые системы

Мышление в контексте распределённых систем

Мышление в контексте распределённых систем

Демистификация распределенных задач с помощью Celery, SQS и Python

Демистификация распределенных задач с помощью Celery, SQS и Python

Создание современных распределенных систем с помощью Java

Создание современных распределенных систем с помощью Java

Микросервисы и распределенные системы

Микросервисы и распределенные системы

Комментарии
 logo
  • Ketutz logo
    Ketutz
    27 окт. 2026 г., 16:53
    can you also add "Kubernetes for All" from the same author?
  • CourseHunter Team logo
    CourseHunter Team Ketutz
    27 окт. 2026 г., 17:55
    Add it to order table, please
  • tony logo
    tony
    20 окт. 2026 г., 16:33
    please update it
  • CourseHunter Team logo
    CourseHunter Team tony
    21 окт. 2026 г., 18:26
    Updated 👌
  • majestic_giver403 logo
    majestic_giver403
    7 окт. 2026 г., 11:03
    слоп книга
  • DimaMaimesko logo
    DimaMaimesko majestic_giver403
    21 окт. 2026 г., 18:41
    Вынужден согласиться
  • topdevsinc.2021 logo
    topdevsinc.2021 DimaMaimesko
    22 окт. 2026 г., 14:55
    А какие альтернативы посоветуете ?
  • DimaMaimesko logo
    DimaMaimesko
    2 окт. 2026 г., 22:09
    Thanks!
КонтактыРаспространенные вопросыПлейлистыПриватностьУсловия