О продукте
Сервис User Status предназначен для хранения информации о статусах, а также для уведомления об изменении статуса пользователя на внешних сервисах.
Версия 1.1.0 поставляется в Docker-контейнерах.
Сервис User Status состоит из набора сервисов, таких как:
- RabbitMQ — программный брокер сообщений на основе стандарта AMQP
- PostgreSQL — свободная объектно-реляционная система управления базами данных
На рисунке ниже представлена упрощённая схема взаимодействия User Status Service, Chat Server и SSW:
Cхема взаимодействия User Status Service, Elph Chat и Elph Proxy
Системные требования
Протестированные ОС и платформы:
- Linux Server 18, 20, 22
Минимальные аппаратные требования:
- ОЗУ: 4 ГБ
- ПЗУ: 10 ГБ (2,5 ГБ будет занято приложением + ОС, остальное для базы данных)
- CPU: 2 ядра 2.5 ГГц и выше (количество ядер имеет малое значение)
Максимальные показатели, которых получилось достичь при нагрузочном тестировании (при подаче одновременно подписок, get запросов и change_status запросов):
- 2000 подписок
- 700 RPS для get запроса от разных пользователей
- 180 RPS для запроса смены статуса
При этом сервер с 4 ядрами CPU, 8ГБ RAM был загружен примерно на половину.
Данная нагрузка приблизительно соответствует 4000 пользователей чат-сервера.
