Persistente Warteschlangen
Persistente Warteschlangen sind Warteschlangen in ThingWorx Platform, die Apache Kafka (für lokale Bereitstellungen) oder Azure Event Hubs (für PTC Cloud-Bereitstellungen) als verteilte Ereignis-Streaming-Plattform verwenden. Diese Plattformen dienen als Meldungsformat-Konverter und Datenpipelines. Sie externalisieren und übertragen dieArbeitsspeicher-Warteschlangen in ThingWorx Knoten in Form von persistenten Warteschlangen in einen festplattenbasierten Speicher. Dieser Prozess verbessert das interne Messaging in ThingWorx Platform auf folgende Weise:
Verbesserte Stabilität von ThingWorx mit garantierter AMO-Ausführung (jede Nachricht wird entweder einmal oder gar nicht zugestellt) bei Verarbeitung in stabilem Zustand. Persistente Warteschlangen stellen sicher, dass es keinen Datenverlust durch Überlauf gibt.
Verbesserte Zuverlässigkeit der Ereignis- und Datenverarbeitung beim Ausfall von ThingWorx Knoten. Weitere Informationen finden Sie unter Stapelverarbeitung mit persistenten Warteschlangen.
Die Latenz für die Ereignisverarbeitung wurde im Vergleich zu Arbeitsspeicher-Warteschlangen halbiert.
ThingWorx unterstützt persistente Warteschlangen für Folgendes:
Ungeordnete Ereignisse (Ereignisse, die von zustandslosen Abonnements abonniert werden)
Persistente Eigenschaften
Protokollierte Eigenschaften
Das folgende Diagramm zeigt den funktionalen Ablauf von Arbeitsspeicher-Warteschlangen im Vergleich zu persistenten Warteschlangen. Weitere Informationen zu Arbeitsspeicher-Warteschlangen finden Sie unter Arbeitsspeicher-Warteschlangen.
Arbeitsablauf bei Arbeitsspeicher-Warteschlangen im Vergleich zu persistenten Warteschlangen
Nach dem Aktivieren von persistenten Warteschlangen für Ereignisse, persistente Eigenschaften oder protokollierte Eigenschaften werden die Schreibvorgänge für Eigenschaften in die persistente Warteschlange und dann in die Arbeitsspeicher-Warteschlange verarbeitet.
Persistente Warteschlangen in Hochverfügbarkeitskonfigurationen
Persistente Warteschlangen unterstützen auch Konfigurationen mit Hochverfügbarkeit (HA). Es muss eine Apache Kafka- oder Azure Event Hubs-Instanz mit einem HA-Setup konfiguriert sein. Weitere Informationen zu HA-Konfigurationen finden Sie unter Größenanpassung für persistente Warteschlangen.
Das folgende Diagramm zeigt den Fluss von IoT-Streams durch Apache Kafka in einer HA-Umgebung:
Arbeitsablauf bei IoT-Streams über Apache Kafka in einer HA-Umgebung
Wichtige Überlegungen
Nur ungeordnete Ereignisse (Ereignisse, die von zustandslosen Abonnements abonniert werden) werden zu Kafka oder Event Hubs übertragen. Zustandsbehaftete Ereignisse werden an vorhandene Akka-Flüsse weitergeleitet.
Ereignisse und persistente oder protokollierte Eigenschaften werden höchstens einmal (AMO) verbraucht.
Für Kafka und Event Hubs beträgt die Datenaufbewahrungsdauer standardmäßig 24 Stunden.
Die Plattform kann eine Verbindung zu Kafka herstellen, Themen erstellen sowie Nachrichten senden und empfangen. Wenn persistente Warteschlangen aktiviert sind, gilt Kafka als kritische Infrastruktur. Wenn beim Versuch, eine Verbindung zu Kafka herzustellen, Probleme auftreten (z.B. nicht übereinstimmende Anmeldeinformationen), wird ThingWorx Platform nicht gestartet.
War dies hilfreich?