Кластер в MQTT для IoT и Push-уведомлений
Я начал читать некоторые детали о протоколе MQTT и его реализации. Я часто сталкивался с термином "кластер". Может кто-нибудь помочь мне понять, что означает "кластер" для протокола MQTT?
В этом сравнении различных протоколов MQTT есть столбец для термина "кластер"
2 ответа
Пересылка сообщений с помощью циклов моста темы не приведет к созданию кластера брокера MQTT, что приведет к недостаткам, указанным выше.
Настоящий брокерский кластер MQTT - это распределенная система, представляющая одного логического брокера MQTT. Кластер состоит из различных отдельных брокерских узлов MQTT, которые обычно устанавливаются на отдельных физических или виртуальных машинах и / или подключаются по сети.
Типичные преимущества брокерских кластеров MQTT включают в себя:
- Устранение единой точки отказа
- Распределение нагрузки по нескольким узлам кластера
- Возможность для клиентов возобновлять сеансы на любом брокерском кластере
- Масштабируемость
- Устойчивость и отказоустойчивость - особенно полезны в облачных средах
Я рекомендую этот пост, если вы ищете более подробное объяснение.
Кластер - это набор брокеров MQTT, настроенных для объединения всех тем друг с другом, чтобы клиент мог подключаться к любому из элементов кластера и при этом публиковать и получать сообщения всем другим клиентам независимо от того, к какому элементу кластера они подключены.
Несколько вещей, о которых нужно знать:
- Циклы моста темы, где сообщение публикуется одному участнику кластера, который затем пересылается другому участнику кластера, затем другому и, наконец, возвращается к оригиналу. Если это произойдет, у исходного брокера не будет способа узнать, что он изначально отправил это другим членам кластера, чтобы сообщение и закончилось в цикле. Это можно исправить с помощью общих баз данных сообщений или с помощью одного посредника репликации мостов.
- Постоянные подписки / сеансы, если только у посредников нет кеша пула сеансов, клиенты не сохранят состояние сеанса или подписки, если при повторном соединении они подключаются к другому элементу кластера.