Golang Микросервис реализующий простой чат с комнатами
- WebSockets и REST ручки, есть возможность простого прикручивания gRPC
- Хранение данных в Postgres, предполагается кеш через Redis
- В конфигурации с несколькими подами, данные между экземплярами передаются по Nats
Проект является реализацией тестового задания:
"Необходимо реализовать чат сервис на WSS:
- Чат должен быть разделен на комнаты
- Пользователь, при входе в комнату, видит сообщения за последние N минут
- Участники комнаты видят, что зашел новый пользователь
- Каждый участник чата может посмотреть общий список комнат
- Каждый участник чата может заходить сразу в несколько комнат
- *Добавить возможность горизонтального маштабирования
Суть тестового задания - написать упрощенный Телеграмм. В чат можно пересылать любые текстовые сообщения. Загрузка файлов не требуется."
$ make run
$ docker-compose up --build # Для запуска 3х экземпляров сервиса и окружения
- Написание полноценного клиента
- Рефакторинг
- Внедрение кешей