Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Garantie der Ereigniszustellung

Es gibt eine Gesamtanforderung der Ereignisgenerierung innerhalb des Clusters, die in der Reihenfolge der Zustellung an jeden Client beibehalten wird. Mit anderen Worten: Wenn Ereignis A innerhalb des Clusters vor Ereignis B generiert wird, erhält Client X Ereignis A, bevor dieser Client Ereignis B erhält. Die gesamte Ereigniszustellung an alle Clients wird jedoch nicht beibehalten. Das heißt, dass Client Y beide Ereignisse A und B erhalten kann, bevor Client X das Ereignis A erhält. Dadurch wird sichergestellt, dass langsame Clients nicht die Zustellung an alle Clients aufhalten.

Alle Ereignisse, die der Server zustellt (mit Ausnahme des ersten Ereignisses für eine Unterklasse und von Ereignissen, die auf Serverfehler folgen), sind eine Reaktion auf die tatsächlichen Ereignisse, die der Cluster generiert, es sei denn, beim Server tritt ein Fehler auf, durch den er im Cluster generierte Ereignisse nicht erfasst. In diesem Fall generiert der Server ein Ereignis für jeden Ereignistyp, das den aktuellen Zustand des Systems für diesen Typ darstellt. Jedes Ereignis wird an Clients gesendet, die Interesse an diesem Ereignistyp registriert haben.

Die Ereigniszustellung folgt der “Mindestens einmal”-Semantik. Das heißt, der Server kann dasselbe Ereignis mehr als einmal an einen Client senden. Diese Berechtigung ist erforderlich in Fällen, in denen der Server vorübergehend heruntergefahren wird, und wenn er wieder hochgefahren wird, nicht bestimmen kann, ob der Client die aktuellsten Informationen erhalten hat.