Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

Simon says...

Szymon Pobiega o architekturze i inżynierii oprogramowania
SOA Design Patterns: Service Grid
W jaki sposób infrastruktura przechowująca stan usług może być skalowana i zabezpieczona przed awarią?

Odpowiedzią na to pytania jest wzorzec Service Grid. Jego nazwa może być nieco myląca. Nie ma on bowiem nic wspólnego z gridami oraz raczej niewiele z usługami w klasycznym pojęciu SOA. Service Grid jest nazwą dla podejścia, w którym wiele instancji infrastruktury przechowującej stan usług jest równolegle aktywnych (zwykle na wilu fizycznych maszynach). Instancje te współdzielą między sobą informacje do nich przekazywane w ten sposób, że każda dowolna porcja danych jest przechowywana w wielu instancjach jednocześnie. Klient (usługa chcąca zapisać lub odczytać swój stan) odwołuje się do całości gridu za pomocą jednego (dowolnego) z węzłów. W przypadku jego awarii, może one odwołać się do któregokolwiek innego węzła.

Wzorzec ten jest szczególnie efektywny, jeśli zostanie wykorzystany jako część wspólnej dla wielu domen warstwy Utility (wzorzec Cross-Domain Utility Layer), ponieważ na bardzo duży potencjał skalowania poziomego.

Ponieważ dane są przechowywane w pamięci operacyjnej, a nie (jak w wypadku State Repository) na dysku, Service Grid oferuje stosunkowo dużą wydajność. Z drugiej strony, wadą tego wzorca jest zwiększony stopień skomplikowania całości architektury oraz potencjalnie wyższy koszt (z uwagi na konieczność zakupu sprzętu oraz licencji na oprogramowanie).

Jeśli chodzi o informacje praktyczne, to gotową do wykorzystania realizacją wzorca jest Microsoft Velocity. Erl nie podaje w swojej książce konkretnego przykładu wykorzystania podejścia Service Grid. Z pomocą jednak przychodzi, jak zwykle niezawodny Udi Dahan. W sekcji "Long-Running Processes" pokazuje na przykładzie przetwarzania "po kawałku" bardzo dużych komunikatów, w jaki sposób może się przydać State Repository.

Opublikowane 7 lipca 2009 15:34 przez simon

Filed under: ,

Komentarze:

# Simon says... : SOA Design Patterns: Service Grid @ 7 lipca 2009 18:02

Dziękujemy za publikację - Trackback z dotnetomaniak.pl

dotnetomaniak.pl

Komentarze anonimowe wyłączone