MessageProcessor
Cценарий DataPipe дополняется счётчиками разного рода и в итоге получается MessageProcessor
Ресурсы Инстанса во времени
- Logporter позволяет получить рантайм cpu, ram и сеть
- Prometheus позволит из Logporter получить уже окна -
[месяц, неделя, день, час] - Занимаемые ресурсы постоянной памяти можно взять из postgres и clickhouse напрямую
- Для того чтобы узнать сколько памяти всего осталось у хост системы нужен какой-то экспортер
- Максимальное значение внешней сети нужно вводить в настройки инстанса, по умолчанию 100 МБ/c
- из этого собирается базовое общее понимание
- инстанс сможет прогнозировать динамику сколько ему ещё стабильно работать
Ресурсы Unit во времени
- Подписка на
+/+/pepeunitи+/+ - Считаются все MPS входящие и исходящие на каждый UnitNode (на Unit просто через join c суммированием)
- Среднее число сообщений от/на доманшний инстанс
[месяц, неделя, день, час] - Среднее число сообщений от/на внешние инстансы
[месяц, неделя, день, час] - Динамика размера памяти на основе строк
DataPipe[месяц, неделя, день, час] - Выдаёт отказ в обслуживании при превышении лимитов
- из этого мы поймём процентное соотношение кто как потребляет какие ресурсы
Перенос подписки из backend в MessageProcessor
- Подписка на
domain.com/+/+/+/pepeunit - Обработка входящих
state/pepeunitиlog/pepeunit
- Backend больше никуда не подписывается по mqtt
- Backend оставляет себе только настройку EMQX и выдачу доступов
- Можно будет на Backend провести рефактор mqtt соединений