Subscriptions
Subscriptions (Abonnements)
Verfügbar seit TBMQ Version 2.0
In MQTT ist ein Subscription‑Eintrag ein Mechanismus, der es Clients ermöglicht, Nachrichten zu empfangen, die für bestimmte Topics bestimmt sind. Wenn ein Client ein Topic abonniert, signalisiert er damit sein Interesse daran, alle Nachrichten zu erhalten, die auf dieses Topic publiziert werden.
Tabelle: Subscriptions
Auf der Seite Subscriptions können alle Abonnements des Brokers beobachtet, analysiert oder gefiltert werden. Die Tabelle enthält folgende Informationen zu jedem einzelnen Subscription‑Eintrag:
- Client ID – Die Kennung des Clients, der Eigentümer des Abonnements ist.
- Topic Filter – Der MQTT‑Topic‑Filter.
- QoS – Quality of Service des Abonnements.
- Retain as Published – Wenn „true“, behalten weitergeleitete Nachrichten das RETAIN‑Flag, mit dem sie ursprünglich veröffentlicht wurden.
- Retain Handling – Bestimmt, wie der Broker Retained Messages behandelt, wenn ein Client ein Topic abonniert:
- 0 – Retained Messages beim Abonnieren senden
- 1 – Retained Messages beim Abonnieren senden, sofern das Abo noch nicht existiert
- 2 – Keine Retained Messages beim Abonnieren senden
- No Local – Wenn „true“, sendet der Broker Nachrichten dieses Clients nicht zurück auf die Verbindung, über die das Abonnement erfolgt ist.
- Subscription Identifier – Eindeutiger numerischer Wert, der dem Abonnement zugeordnet ist. Er ermöglicht es dem Client, Nachrichten unterschiedlicher Abonnements zu unterscheiden.
Die Subscriptions‑Tabelle zeigt alle aktuellen Abonnements des Brokers an.
Das Filter‑Fenster ermöglicht eine einfache Filterung der Tabelle nach jeder Spalte.
Subscriptions verwalten
Abonnements können direkt im Fenster Session details hinzugefügt, entfernt oder bearbeitet werden.
Vorgehen:
- Öffnen Sie im linken Menü die Seite Subscriptions.
- Klicken Sie auf einen Eintrag um die Session details zu öffnen
- Öffnen Sie den Tab Subscriptions, um die Session-Abonnements zu verwalten.
- Fügen Sie Abonnements hinzu, bearbeiten oder löschen Sie diese.
- Klicken Sie auf Update, um Änderungen zu speichern.
Subscriptions Chart
Auf den Seiten Monitoring und Home können Sie die Anzahl aktueller Abonnements und weitere Broker‑Aktivitäten nachverfolgen.
Leeren von Subscription‑Knoten
Subscriptions werden im Broker in einer Trie‑Datenstruktur gespeichert, die besonders effiziente Suchvorgänge ermöglicht.
Ein Trie (oder Präfixbaum) ordnet Topic‑Filter hierarchisch, wobei jeder Knoten eine Topic‑Ebene repräsentiert.
Der Broker kann dadurch anhand eines publizierten Topic‑Namens schnell die zugehörigen Client‑Abonnements finden – was die Performance deutlich verbessert.
Wenn ein Client ein Abonnement entfernt (unsubscribe), löscht der Broker die Daten aus dem Speicher und markiert den entsprechenden Knoten als „leer“.
Mit der Zeit können sich viele solcher leeren Knoten ansammeln, was:
- Speicher verschwendet
- die Verarbeitung von Abgleichvorgängen (Subscription Matching) verlangsamen kann
Das Bereinigen leerer Knoten gibt Speicher frei und beschleunigt die Verarbeitung.
Leere Subscription‑Knoten löschen:
Klicken Sie oben rechts auf die Schaltfläche Clear empty subscription nodes (Papierkorb‑Symbol) und bestätigen Sie die Aktion.