Микросервисы

Микросервисы — архитектурный стиль, разделяющий монолитное приложение на независимо развёртываемые сервисы, каждый с собственной ответственностью и данными.

Принципы

Single Responsibility: один сервис — одна бизнес-функция. Independent deployability: обновление без перезапуска остальных. Decentralized data: у каждого сервиса своя БД. API-контракты между сервисами. Fault isolation: отказ одного не валит всех. Polyglot: разные языки/технологии допустимы.

Типичное разбиение iGaming

Game engine, wallet service, KYC service, payment orchestrator, antifraud engine, notifications, bonus engine, reporting. Каждый — 5-50K LOC, команда 3-8 человек, независимый CI/CD.

Коммуникация

Синхронная: REST, gRPC для запрос-ответ. Асинхронная: Kafka, RabbitMQ для событий. Service mesh (Istio, Linkerd) для observability, mTLS, retry-политик. Event-driven архитектура снижает связанность.

Trade-offs

Плюсы: масштабируемость команд, независимость релизов, технологическая свобода. Минусы: distributed system complexity, network latency, eventual consistency, сложный debug. Не подходит для маленьких команд (<20 разработчиков). Часто начинают с monolith и мигрируют.