Проектирование сервисов

О теме

Границы, монолит vs микросервисы, gateway, события.

Лекции

Проектирование сервисов
Событийная архитектура: связность и схема

Продюсер события не ждёт потребителей: связность уходит в контракт топика и в эволюцию схемы. Имя события, владелец полей и совместимость — часть дизайна, а не «потом добавим ключ в JSON».

Проектирование сервисов
API gateway и BFF

Gateway — единый вход: TLS, аутентификация, маршруты, лимиты. BFF — фасад под конкретный клиент. Оба полезны на краю. Оба становятся точкой отказа, если в них переезжает бизнес-логика.

Проектирование сервисов
Монолит vs микросервисы и distributed monolith

Сервис выделяют ради независимого деплоя, масштаба и отказов, а не потому что «так модно». Distributed monolith — сеть и операционка микросервисов при общей базе и lock-step релизах.

Проектирование сервисов
Clean architecture в Go: границы и интерфейсы

Сущности и сценарии не знают HTTP и SQL: зависимости направлены к центру. В Go интерфейс объявляет потребитель на границе, а не «у каждой структуры пакет с моком».