/chat-service

Go microservice wss chat example

Primary LanguageGo

chat-service

Golang Микросервис реализующий простой чат с комнатами

  • WebSockets и REST ручки, есть возможность простого прикручивания gRPC
  • Хранение данных в Postgres, предполагается кеш через Redis
  • В конфигурации с несколькими подами, данные между экземплярами передаются по Nats

Проект является реализацией тестового задания:

"Необходимо реализовать чат сервис на WSS:

  • Чат должен быть разделен на комнаты
  • Пользователь, при входе в комнату, видит сообщения за последние N минут
  • Участники комнаты видят, что зашел новый пользователь
  • Каждый участник чата может посмотреть общий список комнат
  • Каждый участник чата может заходить сразу в несколько комнат
  • *Добавить возможность горизонтального маштабирования

Суть тестового задания - написать упрощенный Телеграмм. В чат можно пересылать любые текстовые сообщения. Загрузка файлов не требуется."

setup

$ make run 

$ docker-compose up --build # Для запуска 3х экземпляров сервиса и окружения

todo:

  • Написание полноценного клиента
  • Рефакторинг
  • Внедрение кешей