2016-10-21 3 views
2

Ich versuche ein Mosquitto-Clustering zu erstellen, weil mosquitto single thread ist und nicht viele Qos 2-Nachrichten verarbeiten kann.Benchmark der Mosquittoclustering?

MQTT Server Vergleich: Benchmark of MQTT Servers

I mosquitto gefunden Brücke Weg Cluster erstellen können (Cluster forming with Mosquitto broker), aber ich frage mich, ob mosquitto alle Nachrichten von allen anderen Server anmelden wird ein hoher Aufwand bei interne Nachricht sendet verursachen.

Zum Beispiel, wenn ich 10 Moskito-Broker habe, jeder von ihnen dienen 1.000 Nachrichten, ursprünglich ist es insgesamt 10.000 Nachrichten. Die Nachrichten werden jedoch zwischen den Brokern geteilt, so dass jede Nachricht an weitere 9 Broker gesendet wird. Das sind insgesamt 1.000 x 9 x 10 = 90.000 Nachrichten für die interne Nutzung.

Gibt es einen Maßstab für die Moskitocluster? Oder was ist die allgemeine Lösung für das Senden von vielen qos 2 Nachrichten?

Dank

Antwort

0

Wir Setup verwendet, um eine MQTT Service-Plattform, die mosquitto als Broker verwenden, mit 8-Broker zusammen überbrückt, über 20k Kunden mit 20k Themen abonniert, qos = 0, avg Pubs 1k Nachrichten/s mit 100 -2k Bytes, die Bridge subskribieren und veröffentlichen alle Themen und bringen eine große Vorwärtslatenz, manchmal mehr als 2 Minuten. So jetzt übertragen wir einfach alle Pubs zu jedem der Broker, das funktioniert. Aber Bridge ist etwas anderes mit Cluster, was bedeutet, dass es keinen logischen MQTT-Broker mag, der Cluster-Sitzung, Lastverteilung, Single Point of Failure, ... unterstützt, also habe ich einen autonomen Mosquitto-Cluster implementiert und einige Leistungstests durchgeführt Tsung, allgemein gesprochen, mit einem Szenario, dass 30k Teilnehmer/2.5k Pubs/s, Nutzdatenlänge = 744bytes, qos = 1, durchschnittliche Anfrage Antwort ist ein bisschen hoch, dann Brücke (5,1ms vs 2,32ms), aber keine Nachricht verloren und die Last war ausgeglichen. finden Sie den ausführlichen Testbericht unter mosquitt-cluster-bridge-benchmark.