О продукте

Сервис 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 пользователей чат-сервера.

  • Нет меток