Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Komponentowe systemy rozproszone

Podobne prezentacje


Prezentacja na temat: "Komponentowe systemy rozproszone"— Zapis prezentacji:

1 Komponentowe systemy rozproszone
Systemy kolejkowe

2 Wołanie synchroniczne
Serwis A Serwis B Wołanie synchroniczne czekanie praca zwrot Tradycyjne WS, RPC, COM, WCF (?)

3 Typowy system WWW Tr Potencjalne problemy przy:
DB MGB 2003 Typowy system WWW Call 1 Tr Żądanie [HTTP] Call 2 Krytyczny update dla Windows Potencjalne problemy przy: Czasochłonnym przetwarzaniu Dużym obciązeniu (WWW i/lub bazy) Zrównolegleniu WWW © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4 Upadek serwera WWW Co sie dzieje z zamówieniem ? Tr
DB MGB 2003 Upadek serwera WWW Call 1 Tr Żądanie [HTTP] Call 2 Rollback transakcji Krytyczny update dla Windows Co sie dzieje z zamówieniem ? © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

5 Upadek bazy Poinformowanie klienta o błędzie ? Tr
DB MGB 2003 Upadek bazy Call 1 Tr Żądanie [HTTP] Call 2 Wyjątek i zapis do logu Poinformowanie klienta o błędzie ? © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6 Zakleszczenie Tr Żądanie [HTTP] Call 1 Call 2 DB MGB 2003
© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

7 Zakleszczenie A klient czeka, … albo i nie Tr Ponowienie Żądanie
DB MGB 2003 Zakleszczenie Call 1 Tr Żądanie [HTTP] Call 2 Ponowienie A klient czeka, … albo i nie © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

8 Wołania jednokierunkowe
ASP.NET: oneway WCF: IsOneWay=True Kolejki – możliwa gwarancja dostawy Klient Serwis Id Wysyła i pracuje dalej Odpowiedź: ekspozycja interfejsu przez klienta pooling w oczekiwaniu na odpowiedź

9 Wołanie asynchroniczne
Uwaga: Typowa implementacja tworzy nowy wątek, który czeka synchronicznie i wykonuje callback (w swoim kontekście) Problem: Bez zmiany logiki/podejścia klient i tak czeka na wyniki (może ew. uruchomić kilka zapytań jednocześnie)

10 Wykorzystanie kolejek
DB MGB 2003 Wykorzystanie kolejek Żądanie [HTTP] Krytyczny update dla Windows Id © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

11 Wykorzystanie kolejek
DB MGB 2003 Wykorzystanie kolejek Żądanie [HTTP] Krytyczny update dla Windows Id © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

12 Wykorzystanie kolejek
DB MGB 2003 Wykorzystanie kolejek Call 1 Transakcja Id Call 2 Krytyczny update dla Windows Id © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

13 Wykorzystanie kolejek
DB MGB 2003 Wykorzystanie kolejek Call 1 Transakcja Id Call 2 Krytyczny update dla Windows © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

14 Wykorzystanie kolejek
DB MGB 2003 Wykorzystanie kolejek Call 1 Transakcja Id Call 2 Krytyczny update dla Windows © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

15 Wykorzystanie kolejek
DB MGB 2003 Wykorzystanie kolejek Call 1 Transakcja Id Call 2 Rollback Krytyczny update dla Windows © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

16 Wykorzystanie kolejek
DB MGB 2003 Wykorzystanie kolejek Call 1 Transakcja Id Call 2 Krytyczny update dla Windows Id © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

17 Wykorzystanie kolejek
Kolejki pozwalają odizolować serwer WWW od przetwarzania bazodanowego Serwer WWW wykonuje b. krótkie (“lekkie”) operacje – czyli nie powinien być mocno obciążany przez przetważanie pojedynczego żądania Po zapisie zlecenia do kolejki można założyć, że zostanie ono przetworzone. Nawet upadek serwera bazy lub aplikacji przetwarzajacej spowodują w najgorszym razie zwrócenie komunikatu do kolejki i ponowne przetworzenie po podniesieniu się serwera/aplikacji

18 Wykorzystanie kolejek
A jeśli nie uda się zapis do pierwszej kolejki ? W MSMQ kolejki mogą być na dowolnym komputerze (np. na serwerze WWW) Przy zapisie do kolejek zdalnych komunikat trafia to tzw. “outgoing queue” (kolejki tymczasowej) na serwerze lokalnym A jesli jednak nie uda się go dostarczyć?

19 Wykorzystanie kolejek
Skąd klient wie że jego żądanie udalo się przetworzyć ? Aplikacja pyta (AJAX/WebSockets) czy pojawiło się potwierdzenie wykonania transakcji A jak to jest np. w sklepach internetowych?

20 Przetwarzanie potokowe
MGB 2003 Przetwarzanie potokowe Service A Server 1 Service B Server 2 Service C Server 3 Request 0 Id Request 1 Id Request 2 Id Pozwala na równoważenie obciążenia Iub utworzenie potoku obsługujacego zlecenia © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

21 Przetwarzanie transakcyjne
DB MGB 2003 Przetwarzanie transakcyjne Id Transakcja Id Krytyczny update dla Windows © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

22 Przetwarzanie transakcyjne
DB MGB 2003 Przetwarzanie transakcyjne Id Transakcja Id Krytyczny update dla Windows © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

23 Przetwarzanie transakcyjne – błąd
DB MGB 2003 Przetwarzanie transakcyjne – błąd Id Transakcja Id Krytyczny update dla Windows © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

24 Przetwarzanie transakcyjne – błąd
DB MGB 2003 Przetwarzanie transakcyjne – błąd Id Id Krytyczny update dla Windows Rollback © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

25 Wykorzystanie kolejek – błąd
DB MGB 2003 Wykorzystanie kolejek – błąd Id Id Krytyczny update dla Windows Rollback © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

26 Interakcja z innymi serwisami
DB MGB 2003 Interakcja z innymi serwisami OK! OK! OK! Id Transakcja Wycofanie transakcji wymaga wycofania zmian w serwisach… © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

27 Interakcja z innymi serwisami
Nie zawsze* możliwe jest zamknięcie w jednej transakcji cyklu operacji na kilku mediach, web serwsach itd. W przypadku błędu mozna próbować operacji kompensujących ale jeśli w trakcie takiej próby padnie sama aplikacja – stan system jest niespójny Dwa podejścia: Próba realizacji operacji jako indempotentne i zgoda na ew. przetworzenie ponowne Wykorzystanie podzadań – dodatkowych komunikatów zapisanych w transakcji do kolejek. *Tak zwane Koordynatory Tranakcji Rozproszonych (DTS) są zwykle powolne i niewydajne.

28 Wykorzystanie kolejek – podzadania
DB MGB 2003 Wykorzystanie kolejek – podzadania Id Transakcja Id Krytyczny update dla Windows © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

29 Wykorzystanie kolejek – podzadania
DB MGB 2003 Wykorzystanie kolejek – podzadania Id Transakcja Id Id Id Krytyczny update dla Windows Podzadania mogą być np. odpowiedzialne za operacje na różnych serwisach © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

30 Wzorzec: Adres zwrotny
MGB 2003 Wzorzec: Adres zwrotny Serwis A Serwis B Id Addres zwrotny Addres zwrotny Id Kiedyś w przyszłości Możliwy oddzielny kanał dla odpowiedzi © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

31 Wzorzec: Skorelowane Request/Response
MGB 2003 Wzorzec: Skorelowane Request/Response Serwis A Serwis B Id Kiedyś w przyszłości Id W bardziej skomplikowanych przypadkach Id umożliwia skojarzenie req. i resp. W szczególności w MSMQ można skonfigurować jedną kolejkę i korelować messedze po Id © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Pobierz ppt "Komponentowe systemy rozproszone"

Podobne prezentacje


Reklamy Google