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