2012-09-27 14 views
5

Ich bin etwas verwirrt über die syncpoint von WebSphere MQ. Gemäß der Referenz aus der WMQ Infothek, die syncpoint wie nachstehend definiert ist:Bedenken über das Konzept von Syncpoint aus WMQ

Die Entscheidung, aus den Änderungen zu übernehmen oder zurückgenommen wird, im einfachsten Fall, am Ende einer Aufgabe. Es kann jedoch für eine Anwendung sinnvoller sein, Datenänderungen an anderen logischen Punkten innerhalb einer Aufgabe zu synchronisieren. Diese logischen Punkte werden als Synchronisationspunkte (oder Synchronisationspunkte) bezeichnet, und die Periode der Verarbeitung eines Satzes von Aktualisierungen zwischen zwei Synchronisationspunkten wird als Arbeitseinheit bezeichnet. Daher

, a unit of work wird als Verarbeitung zwischen zwei Sync-Punkte genannt. Aus meiner Sicht ist diese Arbeitseinheit tatsächlich eine Transaktion. So zeichne ich das Bild hier reflektieren die Beziehung zwischen ihnen:

enter image description here

  1. Bin ich es richtig zu verstehen?
  2. Eine andere Frage ist hier für den Synchronisationspunkt, es soll Daten für die Anwendung synchronisieren, wo ist die Daten synchronisiert und wo?

Dank

Antwort

5

Antwort 1: Ja, Sie sind es richtig zu verstehen. Transaktionen sind atomare Einheiten von Arbeit, die in ihrer Gesamtheit Erfolg haben oder scheitern. Syncpoints sind die Grenzen zwischen den Transaktionen. Der feine Unterschied zwischen einer Transaktion und einem Synchronisationspunkt besteht darin, dass die Arbeit, die unter einer Transaktion ausgeführt wird, für eine gewisse Zeit unzweifelhaft sein kann, während der Synchronisationspunkt der Zustand ist, in dem die Transaktion nicht in Frage steht. Bei einem Ausfall werden die Warteschlangen in den Status zurückgesetzt, der am letzten Synchronisationspunkt bestand, und dann wurden alle ausstehenden Transaktionen zurückgesetzt oder, im Fall von XA, möglicherweise vom Ressourcenmanager festgeschrieben.

Die Infocenter-Seite Transaction management and support kann es besser als die in der Post verknüpfte Seite erklären.

Antwort 2: Die Daten werden vom Ressourcenmanager synchronisiert. Bei lokalen Arbeitseinheiten, bei denen Nachrichten die einzigen Teilnehmer an der Transaktion sind, erfolgt die Synchronisierung nur in der Warteschlange und der Warteschlangenmanager fungiert sowohl als Ressourcenmanager als auch als Transaktionsmanager. Bei globalen Arbeitseinheiten, die Nachrichten und Datenbankaktualisierungen in derselben Transaktion enthalten, erfolgt die Synchronisierung im QMgr und in der Datenbank, die als Ressourcenmanager fungieren. Der Transaktionsmanager ist entweder MQ oder ein Anwendungsserver und koordiniert die Synchronisierung zwischen den Ressourcenmanagern.

Unabhängig davon, ob die Transaktion lokal oder global ist (manchmal auch als einphasiges Commit oder 2-phasiges Commit bezeichnet), ist die Beziehung zwischen Transaktionen und Syncpoints identisch. Der Synchronisationspunkt ist der letzte Zeitpunkt, zu dem ein bekannter Zustand erhalten bleibt und auf den eine unbestätigte Transaktion zurückgesetzt werden kann.

+0

Ausgezeichnete Antwort. – Shashi