Mit MQTT mit mehreren Teilnehmern
Ich bin mit mosquitto (http://mosquitto.org/) als ein MQTT-broker und bin auf der Suche nach Beratung auf load-balancing-Abonnenten (zum gleichen Thema). Wie wird dies erreicht? Alles, was ich gelesen habe über das Protokoll besagt, dass alle Abonnenten der gleichen Thema gegeben werden, eine veröffentlichte Nachricht.
Scheint dies ineffizient, und so bin ich auf der Suche nach einem Weg für eine veröffentlichte Nachricht gegeben werden an einer der angeschlossenen Teilnehmer im round-robin-Ansatz, der sicherstellen würde, eine load-balanced-Zustand.
Wenn dies nicht möglich ist, mit MQTT, wie funktioniert ein Abonnent vermeiden, wird überwältigt von Nachrichten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Regel design MQTT-Anwendungen in einer Weise, dass Sie nicht überfordert Abonnenten. Dies können Sie erreichen durch die Verbreitung laden zu den verschiedensten Themen.
Wenn Sie wirklich nicht tun können, werfen Sie einen Blick auf die gemeinsamen Abonnement Ansatz anspruchsvolle MQTT-Broker wie MessageSight und HiveMQ haben. Das ist genau die Funktion, die Sie suchen, aber ist broker abhängig und ist nicht Teil der offiziellen MQTT spec.
MQTT ist ein Pub/Sub-Protokoll, das die Grundlage ist für eine 1 zu viele Verteilung von Nachrichten, die nicht eine 1 bis 1 (von vielen), die Sie beschreiben. Was Sie beschreiben, wäre mehr wie ein Message-Queuing-system, das deutlich Verschieden von Pub/Sub.
Mosquitto als eine Reine Umsetzung dieses Protokoll unterstützt nicht die Lieferung, wie Sie es beschreiben. Eine Lösung ist uns eine lokale Warteschlange mit in die Abonnenten, die eingehende Nachrichten Hinzugefügt werden und dann verbraucht ein thread-pool.
Glaube ich, dass die IBM Message Blick Gerät kann bieten die Art von Nachricht, die Lieferung, die Sie suchen, als eine Erweiterung des Protokolls namens Gemeinsame Abonnements, aber mit dieser aktiviert ist, abweichend von der reinen MQTT spec.