WebSocket для real-time, каждый коннект — горутина. Сообщения через pub/sub (Redis/NATS). Хранение истории в PostgreSQL/Cassandra. Структура: connection manager (sync.Map user→conn), room manager (подписки), message router. Доставка: at-least-once с client-side dedup по message ID. Масштабирование: несколько инстансов через pub/sub, sticky sessions не нужны.
Как спроектировать чат-систему на Go?
Senior
157 просмотровAFK Offer AI
Как оптимизировать GC?