Раздел 24 · Микросервисы (Go)

Курс: микросервисы как в BigTech (8 недель)

middle~40 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Курс: микросервисы как в BigTech (8 недель)

Этот раздел, отдельный курс по микросервисам на Go, идущий после того как ты прошёл Go-трек (01, 02, 03, 04, 05, 06). Восемь недель практики по сборке системы, какую ожидают увидеть на ревью в BigTech.

Зачем этот курс

После Go-трека ты умеешь писать один сервис идиоматично. Реальная работа на Go, это как правило система из 5, 15 сервисов, общающихся через gRPC и Kafka, поднимаемых через docker-compose локально и k8s в проде. Это дополнительный набор требуемых навыков, который повсеместно требуют на рынке.

Ключевые темы которые покрываем:

  • контрактное программирование (OpenAPI, Protobuf, code generation),
  • чистая архитектура с разделением слоёв (api, service, repository),
  • хранилища под характер нагрузки: Postgres (Order, Inventory, Payment, Auth), Redis (sessions), ClickHouse (события для аналитики),
  • миграции и автоматическая накатка при старте,
  • интеграционные и e2e-тесты через testcontainers,
  • платформенная библиотека (logger, migrator, healthcheck),
  • асинхронное общение через Kafka в KRaft-режиме,
  • идемпотентность операций (Idempotency-Key, ReplacingMergeTree, processed_events),
  • choreography-сага с явной компенсацией (OrderCancelled),
  • сквозной correlation_id от edge до consumer-а,
  • AuthService, gRPC API, сессии, middleware,
  • Envoy как gateway с проверкой сессии,
  • NotificationService с интеграцией Telegram,
  • AnalyticsService на ClickHouse: событийная аналитика, бизнес-дашборды,
  • observability: zap, ELK, Prometheus, Grafana, Alertmanager, OpenTelemetry tracing.

Система которую собираем

Космо-маркетплейс с заказом кораблей. Звучит шуточно, но домен достаточно богатый для реалистичной архитектуры: каталог запчастей по категориям (hull/engine/weapon/cosmetic), резерв на складе, оплата с защитой от двойного списания, асинхронная сборка и аналитика на потоке событий.

                       +----------------+
                       | Envoy Gateway  | <- сессии, X-Correlation-Id, ext_authz
                       +-------+--------+
                               |
   +--------+------------+-----+------+----------+----------+----------+
   |        |            |            |          |          |          |
+--v---+ +-v----+ +------v------+ +---v-----+ +--v-----+ +--v-------+ +-v-------+
| Auth | |Order | |  Payment    | |Inventry | |Assembly| |Notifctn  | |Analytics|
| gRPC | |HTTP+ | |    gRPC     | | gRPC    | |Kafka i+| |Kafka in, | |  gRPC   |
|      | |gRPC  | |+Idempotency | |+Reserve | |Kafka o | |Telegram  | |(read)   |
+--+---+ +--+---+ +------+------+ +----+----+ +---+----+ +----+-----+ +----+----+
   |        |            |             |         |             |          |
Postgres+   |        Postgres      Postgres       \           /        ClickHouse
Redis    Postgres   (idempotency) (catalog,        \         /        (event store)
                                  JSONB,            Kafka (KRaft)          ^
                                  category)              ^                 |
                                                          +----------------+
                                                       все события + correlation_id

К концу курса всё это работает локально через docker compose up, проходит интеграционные тесты, шлёт распределённые трейсы, отдаёт бизнес-аналитику из ClickHouse и присылает алерт в Telegram при пороге заказов.

Карта восьми недель

НеделяТемаКлючевая практика
1Контракты и три сервисаOpenAPI + Protobuf, ogen, buf, go.work, категории запчастей
2Чистая архитектура и тестыapi/service/repository, mockery, coverage 40%+
3Реальные хранилищаPostgres для Order и Inventory (JSONB, enum, GIN), миграции, docker-compose
4Testcontainers и платформаtestcontainers, .env, /platform lib, DI, healthchecks
5Kafka, сага, аналитикаKRaft Kafka, AssemblyService, OrderPaid/Cancelled/ShipAssembled, Idempotency-Key, AnalyticsService на ClickHouse
6AuthServicegRPC API, Postgres + Redis sessions, middleware
7Envoy и NotificationsEnvoy Gateway, ext_authz, Telegram, маршрут на Analytics
8Observabilityzap + ELK, Prometheus + Grafana, ClickHouse-дашборды, OpenTelemetry с correlation_id

премиум-урок

Продолжение в премиуме: 1 200 ₽ в месяц или 10 000 ₽ в год. Вместе с ним серверные проверки задач и школьные токены AI-коуча.

Оплата пока не подключена: премиум и курсы открываются промокодом.