Calvin Candie
Вечный
Calvin Candie
Вечный
- 2 Сен 2018
- 54,974
- 12,458
- #1
Голосов: 0
Автор: Joel Bryan Juliano
Название: Распределённые системы на Go

Информация о курсе:
Описание:
Эта книга, написанная Джоэлем Брайаном Джулиано, предлагает глубокое погружение в создание надёжных и отказоустойчивых распределённых систем на языке Go. Она предназначена для тех, кто уже знаком с разработкой отдельных приложений и стремится освоить принципы построения сложных, взаимодействующих сервисов. Книга фокусируется на практическом применении знаний, а не на теоретических рассуждениях.
Книга не рассматривает отдельные инструменты как изолированные компоненты, а представляет их в контексте общей архитектуры. Каждый архитектурный выбор сразу же становится частью переиспользуемого кода, что позволяет избежать повторных ошибок и упрощает дальнейшую разработку. Читатель научится понимать, почему распределённые системы часто выходят из строя в производственной среде, и сможет заранее предусмотреть и предотвратить подобные проблемы, а не исправлять их после инцидентов.
Основная аудитория книги – это Go-разработчики, которые готовятся к позиции backend-инженера уровня senior, проектируют микросервисы в команде или сталкиваются с трудностями при отладке сложных систем, где взаимодействие происходит между множеством сервисов. Книга полезна тем, кто устал искать причину каждого тайм-аута между сервисами наугад. В результате работы с книгой, читатель получит рабочую платформу, на которой можно строить собственные проекты.
"Distributed Systems in Go" («Распределённые системы на Go») – это практическое руководство, охватывающее весь путь от отдельных HTTP-сервисов до полноценной микросервисной архитектуры. Автор опирается на свой собственный опыт создания и эксплуатации облачных распределённых систем. Книга охватывает ключевые аспекты, такие как теорема CAP и базовые принципы распределённых вычислений, но в первую очередь фокусируется на практической эксплуатации и решении реальных проблем, возникающих в продакшене.
В процессе работы с книгой, читатель столкнётся с типичными проблемами, возникающими при работе с распределёнными системами, такими как неспособность потребителей Kafka успевать за потоком сообщений, обрывы межсервисных запросов из-за тайм-аутов и сложность поиска источника проблемы. Книга предлагает практические решения для этих проблем, включая реализацию аутентификации, работу с базами данных, очереди сообщений, gRPC, механизмы отказоустойчивости и распределённую трассировку.
Каждая глава посвящена одному архитектурному шаблону, который затем оформляется в повторно используемые компоненты платформенного SDK. К 15-й главе у читателя будет готовая к развёртыванию система из шести сервисов и собственный SDK, упрощающий разработку следующих приложений.
Что вы изучите и создадите:
Главное в книге – последовательная сборка настоящей системы. Инструменты не изучаются в отрыве от задачи, каждый появляется там, где он действительно нужен. Все примеры кода полные и самодостаточные. Читатель осваивает архитектурные подходы и попутно собирает собственную библиотеку повторно используемых компонентов. В итоге у вас будет работающая распределённая система из шести сервисов, готовая к развёртыванию, и платформенный SDK, с которым новые сервисы создаются быстрее и проще.
Целевая аудитория:
Книга для Go-разработчиков, которые уже умеют создавать отдельные приложения и сервисы и хотят перейти к проектированию полноценных распределённых систем. Особенно полезной она будет инженерам, которые работают с микросервисами, облачной инфраструктурой, базами данных и асинхронной обработкой сообщений.
Если вы копировали middleware, не до конца понимая, как он устроен, разбирались с ошибками context deadline exceeded или искали причину сбоя сразу в нескольких связанных сервисах, книга поможет привести знания в систему и даст практические инструменты для таких задач.
Для кого подойдёт:
Похожие материалы:
Продажник:
Скачать:
Название: Распределённые системы на Go

Информация о курсе:
- Год: 2026
Описание:
Эта книга, написанная Джоэлем Брайаном Джулиано, предлагает глубокое погружение в создание надёжных и отказоустойчивых распределённых систем на языке Go. Она предназначена для тех, кто уже знаком с разработкой отдельных приложений и стремится освоить принципы построения сложных, взаимодействующих сервисов. Книга фокусируется на практическом применении знаний, а не на теоретических рассуждениях.
Книга не рассматривает отдельные инструменты как изолированные компоненты, а представляет их в контексте общей архитектуры. Каждый архитектурный выбор сразу же становится частью переиспользуемого кода, что позволяет избежать повторных ошибок и упрощает дальнейшую разработку. Читатель научится понимать, почему распределённые системы часто выходят из строя в производственной среде, и сможет заранее предусмотреть и предотвратить подобные проблемы, а не исправлять их после инцидентов.
Основная аудитория книги – это Go-разработчики, которые готовятся к позиции backend-инженера уровня senior, проектируют микросервисы в команде или сталкиваются с трудностями при отладке сложных систем, где взаимодействие происходит между множеством сервисов. Книга полезна тем, кто устал искать причину каждого тайм-аута между сервисами наугад. В результате работы с книгой, читатель получит рабочую платформу, на которой можно строить собственные проекты.
"Distributed Systems in Go" («Распределённые системы на Go») – это практическое руководство, охватывающее весь путь от отдельных HTTP-сервисов до полноценной микросервисной архитектуры. Автор опирается на свой собственный опыт создания и эксплуатации облачных распределённых систем. Книга охватывает ключевые аспекты, такие как теорема 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 или искали причину сбоя сразу в нескольких связанных сервисах, книга поможет привести знания в систему и даст практические инструменты для таких задач.
Для кого подойдёт:
- Go-разработчики, которые переходят от отдельных приложений к микросервисной архитектуре
- Backend-инженеры, работающие с Kafka, PostgreSQL и gRPC в продакшене
- DevOps- и SRE-специалисты, которые отвечают за наблюдаемость и отказоустойчивость сервисов в Kubernetes
- Тимлиды и архитекторы, проектирующие облачные распределённые платформы
- Разработчики, которые готовятся к собеседованиям на позиции middle+ и senior в backend
- Готовую к развёртыванию распределённую систему из шести сервисов на Go
- Собственный платформенный SDK для быстрой разработки новых сервисов
- Практические реализации паттернов Saga, Transactional Outbox, Circuit Breaker и Dead Letter Queue
- Настроенный стек наблюдаемости: slog, Prometheus и OpenTelemetry
- Навыки тестирования с Testcontainers, хаос-тестирования и деплоя в Kubernetes
Похожие материалы:
- [leanpub] Распределенные системы для практиков (2020)
- [Алекс Сюй, Сан Лэм] [Питер] System Design II. Распределенные системы. Подготовка к сложному интервью (2025)
Продажник:
Скрытое содержимое доступно для зарегистрированных пользователей!
Скачать:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.