Ориентир кластеризации комаров?
Я пытаюсь создать кластер для москитов, потому что он является однопоточным и не может обрабатывать множество сообщений qos 2.
Сравнение серверов MQTT: эталон серверов MQTT
Я обнаружил, что Mosquitto может использовать мост для построения кластера ( формирование кластера с помощью брокера Mosquitto), но мне интересно, будет ли Mosquitto подписывать все сообщения со всех других серверов, что приведет к высоким издержкам на внутреннюю отправку сообщений.
Например, если у меня есть 10 брокеров от комаров, каждый из них обслуживает 1000 сообщений, первоначально это всего 10 000 сообщений. Но сообщения будут разделены между брокерами, поэтому каждое сообщение будет отправлено еще 9 брокерам, что составляет в общей сложности 1 000 x 9 x 10 = 90 000 сообщений для внутреннего использования.
Есть ли какой-то критерий кластеризации комаров? Или каково общее решение для отправки большого количества сообщений qos 2?
Спасибо
1 ответ
Мы использовали для настройки сервисной платформы MQTT, которая использует Mosquitto в качестве брокера, с 8 связанными мостами, около 20 тысяч клиентов подписаны на 20 тысяч тем, qos=0, avg публикует 1 тыс. Сообщений в секунду со 100-2 тыс. Байтов, мост подписывается и публикуется. все темы, и приносят огромную задержку вперед, иногда более 2 минут. Так что теперь мы просто транслируем все пабы каждому брокеру, это работает. Но мост - это нечто другое в кластере, что означает, что он не похож на логический MQTT-брокер, поддерживающий сеанс кластера, балансировку нагрузки, единую точку отказа, и поэтому я реализовал автономный кластер Mosquitto и провел некоторый тест производительности Tsung, Вообще говоря, при сценарии 30 тыс. подписчиков /2,5 тыс. пабов / с, длина полезной нагрузки =744 байт, qos=1, средний ответ на запрос немного выше, чем у моста (5,1 мс против 2,32 мс), но сообщение не потеряно, а загрузка - сбалансирован. подробный отчет об испытаниях вы можете найти в разделе mosquitt-cluster-bridge-benchmark.