Очень важный момент: в примере ниже мы разберем одну из версий архитектуры мессенджера. Далее в курсе мы посмотрим на более сложные реализации
И вот она, наша система!
Давай соберем наши компоненты в одну табличку
| Компонент | Назначение | Технологии (предполагаемые) |
| DNS-балансировщик | Роутинг в ближайший ЦОД | AWS Route53, Cloudflare |
| L3 & L7-балансировщик | Распределение трафика внутри ЦОДа | Nginx, HAProxy |
| API Gateway | Маршрутизация запросов, управление подключениями | Envoy, Spring Cloud Gateway |
| Сервис пользователей | Хранение данных профилей | PostgreSQL |
| Сервис чатов | Управление чатами и метаданными | PostgreSQL |
| Очередь сообщений | Асинхронная обработка входящих сообщений | Kafka |
| Сервис отправки | Доставка сообщений через WebSocket | - |
| KV-БД (маппинг) | Сопоставление user-id → подключение | Redis, DynamoDB |
На самом деле здесь можно много чего еще улучшать. Более подробно будем рассматривать это в следующих неделях курса:
- Проектирование API
- Правильное партицирование и шардирование БД
- Использование кэшей и грамотная работа с ними
- Применение паттернов для отказоустойчивости системы
- Observability
- Работа с SLA