Verhalten und Eigenschaften von Pub/Sub-Nachrichten
Eine Nachricht enthält das eigentliche Datenobjekt, das vom Herausgeber gesendet und über das Thema an die Abonnenten übermittelt wird. Einige Abonnenten interessieren sich beispielsweise für die Bestelldetails eines Unternehmens. Es wird ein Thema für den Herausgeber erstellt, um m zu veröffentlichen
Sobald der Herausgeber die Nachricht zu dem Thema veröffentlicht, werden die registrierten Abonnenten benachrichtigt, dass eine Nachricht zu ihrem Interesse veröffentlicht wurde. Im Falle mehrerer Nachrichten werden sie in einer Reihenfolge innerhalb der Warteschlange eines bestimmten Themas gespeichert.
Note
Dieselbe Nachricht kann mehreren Themen zugewiesen werden. Dieser wird durch eine automatisch generierte ID eindeutig identifiziert.
Nachrichteneigenschaften
Sie können die Nachrichtenübermittlungsoptionen über a festlegen Liefermöglichkeit enum, wie eine Nachricht zugestellt werden kann. Im Folgenden sind die beiden Lieferoptionen aufgeführt, die von bereitgestellt werden NCache:
Alle: Nachrichten werden an alle registrierten Abonnenten zugestellt.
Jahr: Nachrichten werden jedem einzelnen registrierten Abonnenten zugestellt. Wenn keine Bestätigung empfangen wird, werden die Nachrichten an den nächsten Teilnehmer neu zugewiesen. Wenn eine Bestätigung empfangen wird, werden die Nachrichten entfernt.
Nachrichtenverhalten
Note
Diese Funktion ist nur verfügbar für Enterprise Edition.
Nachrichten werden ungültig, wenn die folgenden Kriterien erfüllt sind:
Vertreibung: Wenn die Entfernung im Cache aktiviert ist, werden Nachrichten auch aus Themen entfernt, die LRU (am wenigsten kürzlich verwendet), LFU (am wenigsten häufig verwendet) oder prioritätsbasierte Richtlinien verwenden.
Wenn der Cache, der für Pub/Sub-Transaktionen verwendet wird, mit dem Cache identisch ist, der für normales Caching verwendet wird, haben Cache-Daten immer die erste Priorität bei der Entfernung.
Wenn keine Cache-Daten zum Entfernen verfügbar sind, werden Nachrichten entfernt. Dadurch wird sichergestellt, dass Nachrichten nur in extremen Fällen entfernt werden oder wenn der Cache nur für Pub/Sub reserviert ist.
Ablauf: Der Ablauf kann für Nachrichten wie bei Cache-Elementen aktiviert werden. Die Nachrichten werden aus dem Cache gelöscht, sobald das Ablaufintervall abgelaufen ist, und es wird derselbe Reinigungsintervallmechanismus verwendet.
Cache löschen: Nachrichten werden zusammen mit Cache-Elementen entfernt, sobald der Cache geleert ist.
Cache-Neustart: Ähnlich wie beim Cache löschen werden die Cache-Inhalte gelöscht, wenn der Cache neu gestartet wird. Dazu gehören auch alle Topics und die darin enthaltenen Botschaften.
Speicherung und Verteilung
Nachrichten werden basierend auf Topologien zwischen Knoten verteilt.
Für die Topologien „Partition of Replica“ und „Partitioned“ wird eine Hash-basierte Verteilung verwendet.
Bei der replizierten Topologie werden Nachrichten auf alle Knoten des gruppierten Caches repliziert. Der Koordinatorknoten ist jedoch für die Nachrichtenmanipulation verantwortlich.
Bei der Spiegeltopologie werden Nachrichten an den aktiven Knoten veröffentlicht und dann entsprechend an den passiven Knoten repliziert.
Wenn der Nachrichtenspeicher kurz vor der Räumung steht, wird ein Ereignis protokolliert, das angibt, dass der Speicher voll ist und die Räumung begonnen hat.
Nachrichten haben einen Overhead für den Cache-Speicher. Daher wird die Nachrichtengröße bei der Berechnung der Cache-Größe berücksichtigt.
Verschlüsselung und Komprimierung
Note
Diese Funktion ist nur verfügbar für Enterprise Edition.
Die auf Cache-Ebene konfigurierte Verschlüsselung und Komprimierung gilt auch für die Nutzlast von Topic-Nachrichten.
Staatliche Übertragung
Im Falle einer Zustandsübertragung, wenn Nachrichten zu einem anderen Knoten im Cluster verschoben werden, ist der Knoten, in dem die Nachricht schließlich gespeichert wird, für die Zustellung verantwortlich.
Note
Es besteht die Möglichkeit, dass Abonnenten während der Zustandsübertragung doppelte Nachrichten erhalten.
Geordnete Nachrichten
Note
Diese Funktion ist nur verfügbar in NCache 5.2 und weiter.
NCache unterstützt jetzt geordnete Nachrichten, bei denen die Reihenfolge der Nachrichten auf der Client-Seite beibehalten wird. Ein Benutzer kann einen Sequenznamen für einen Block von Nachrichten angeben, und die geordneten Nachrichten werden den Abonnenten in genau derselben Reihenfolge zugestellt, in der sie veröffentlicht wurden. Die Sequenzzeichenfolge sollte für eine Kette geordneter Nachrichten gleich sein. Unter Verwendung der Sequenzzeichenfolge befinden sich alle Nachrichten unter Verwendung des Location Affinity-Mechanismus auf demselben Knoten.
Im Folgenden sind die wichtigen Merkmale geordneter Nachrichten aufgeführt:
Nachrichten von einem Herausgeber mit derselben Sequenz befinden sich auf einem einzelnen Cache-Knoten.
Besitzt das
DeliveryOption
auf Beliebig eingestellt ist, werden alle bestellten Nachrichten derselben Sequenz an denselben Teilnehmer geliefert. Falls der bestimmte Teilnehmer die Verbindung verliert oder nicht mehr verfügbar ist, wird zu diesem Zweck ein neuer Teilnehmer neu zugewiesen. Wenn jedoch dieDeliveryOption
auf Alle gesetzt ist, dann werden alle geordneten Nachrichten der gleichen Sequenz an alle Abonnenten geliefert.Im Falle einer Zustandsübertragung könnten die geordneten Nachrichten ihre Reihenfolge verlieren und veröffentlicht werden, ohne die Reihenfolge einzuhalten.
Bestellte Nachrichten können nur mit dem Synchronisierungsmodus in der Veröffentlichungs-API veröffentlicht werden. Bulk- und Async-API-Aufrufe werden nicht unterstützt.
Weitere Informationen
NCache stellt eine Beispielanwendung für Pub/Sub bereit GitHub.
Siehe auch
Ereignisbenachrichtigungen im Cache
Pub/Sub-Themen
Öffentliche Nachrichten zum Thema
Abonnieren Sie Themennachrichten
Kontinuierliche Abfrage