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 die
Arbeitsspeicher-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.
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.
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:
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.