X / Otwórz XA - X/Open XA

W komputerów, X / XA Otwarte standardowy (skrót od „Extended Architecture”) jest specyfikacja wydana w 1991 roku przez X / otwartego (które następnie połączonej z Open Group ) do przetwarzania rozproszonego transakcji (DTP).

Cele

Celem XA jest zagwarantowanie atomowości w „ transakcjach globalnych ”, które są wykonywane na heterogenicznych komponentach. Transakcja jest jednostką pracy, takich jak transfer pieniędzy od jednej osoby do drugiej. Transakcje rozproszone aktualizują wiele magazynów danych (takich jak bazy danych, serwery aplikacji , kolejki komunikatów, transakcyjne pamięci podręczne itp.) Aby zagwarantować integralność, XA używa zatwierdzania dwufazowego (2PC), aby zapewnić, że wszystkie zmiany transakcji zostaną wprowadzone ( zatwierdzenie ) lub nie ( wycofuj ), tj . atomowo .

Architektura

W szczególności XA opisuje interfejs między globalnym menedżerem transakcji a określoną aplikacją. Aplikacja, która chce używać XA, angażuje menedżera transakcji XA przy użyciu biblioteki lub oddzielnej usługi. Menedżer transakcji śledzi uczestników transakcji (tj. Różne magazyny danych, do których zapisuje aplikacja) i współpracuje z nimi w celu wykonania dwufazowego zatwierdzenia. Innymi słowy, menedżer transakcji XA jest niezależny od interakcji aplikacji z serwerami. XA prowadzi dziennik swoich decyzji o zatwierdzeniu lub wycofaniu, którego może użyć do odzyskania w przypadku awarii systemu.

Wielu dostawców oprogramowania obsługuje XA (co oznacza, że ​​oprogramowanie może uczestniczyć w transakcjach XA), w tym wiele relacyjnych baz danych i brokerów komunikatów.

Zalety i wady

Ponieważ XA używa zatwierdzania dwufazowego, zalety i wady tego protokołu zwykle dotyczą XA. Główną zaletą jest to, że XA (przy użyciu 2PC) umożliwia atomową transakcję w wielu heterogenicznych technologiach (np. Pojedyncza transakcja może obejmować wiele baz danych od różnych dostawców, a także serwer poczty elektronicznej i brokera wiadomości), podczas gdy tradycyjne transakcje bazodanowe są ograniczone do pojedyncza baza danych.

Główną wadą jest to, że 2PC jest protokołem blokującym: inne serwery muszą czekać, aż menedżer transakcji wyda decyzję o zatwierdzeniu lub przerwaniu każdej transakcji. Jeśli menedżer transakcji przejdzie w tryb offline, podczas gdy transakcje czekają na ostateczną decyzję, utkną i zatrzymają blokady bazy danych, dopóki menedżer transakcji nie przejdzie ponownie do trybu online i nie podejmie decyzji. To przedłużone utrzymywanie blokad może zakłócać działanie innych aplikacji korzystających z tych samych baz danych.

Ponadto, jeśli menedżer transakcji ulegnie awarii i nie będzie można odtworzyć jego zapisów decyzji (np. Z powodu błędu w sposobie rejestrowania decyzji lub z powodu uszkodzenia danych na serwerze), może być konieczna ręczna interwencja. Wiele implementacji XA zapewnia „lukę ratunkową” dla transakcji, aby niezależnie decydować o zatwierdzeniu lub przerwaniu (bez czekania na wiadomość od menedżera transakcji), ale grozi to naruszeniem gwarancji atomowości i dlatego jest zarezerwowane na sytuacje awaryjne.

Specyfikacja

Specyfikacja XA opisuje, co musi zrobić menedżer zasobów, aby obsługiwać dostęp transakcyjny. Mówi się, że menedżerowie zasobów, którzy postępują zgodnie z tą specyfikacją, są zgodne z XA .

Specyfikacja XA została oparta na interfejsie używanym w systemie Tuxedo opracowanym w latach 80. XX wieku, ale od tego czasu został przyjęty w kilku systemach.

Zobacz też

Bibliografia

Zewnętrzne linki