Professional Documents
Culture Documents
Ja
Kontakt z Linuksami od 1995 r. Administrowanie Linuksami od 1999 r. Programowanie dla Webu od 2000 r. Aktualny etat: Instytut Techniczny Wojsk Lotniczych Oprcz tego: optymalizacja serwisw, konsulting, budowanie architektury
Web
PING-PONG PING-PONG PING-PONG
Wyobra enie
Klient wysy a zdj cie Serwer generuje miniatury obrazkw Serwer rozsy a komunikaty do znajomych Serwer regeneruje RSS Klient dostaje odpowied o powodzeniu
Realia
Klient przesy a zdj cie Serwer generuje miniatury Klient po dziesi ciu sekundach si nudzi i od wie a stron Serwer znowu generuje miniatury Klient po kolejnych dziesi ciu sekundach si wkurza i wy cza przegl dark
Przetwarzanie asynchroniczne
Klient dostaje komunikat, przetwarzanie idzie w tle
Use Case
Generowanie miniaturek
Wady:
op nione przetwarzanie
technika pull
tight coupling
sztywne spinanie przetwarzania czy w kodzie, czy w konfiguracji
Kolejka
zwana te ogonem lub ogonkiem. Forma nietrwa ej zbiorowo ci powstaj ca przy transakcji (kolejki mieszkaniowe w PRL by y trwa e, gdy okres oczekiwania wynosi czasem powy ej 20 lat, tak e oczekiwanie na samochd w NRD trwa o kilkana cie lat). Wi e si ona ze zbyt ma liczb osb oferuj cych dany towar/us ug w stosunku do zapotrzebowania i czasu obs ugi. W wyniku tej sytuacji powstaje zgromadzenie ludzi, ktrzy organizuj kolejno obs ugi. Prawid owy przebieg transakcji: klienci s obs ugiwani wed ug kolejno ci ich przybycia do kas (np. w sklepie) lub rejestracji (u lekarza). W niektrych przypadkach jest to zbiorowo rozproszona, np. wwczas, gdy osoby zamawiaj kolejk czyli ustalaj kolejno transakcji, jednak nie przebywaj w tej samej przestrzeni, w pobli u dokonywania transakcji pozostaj tylko osoby, ktre zostan obs u one w najbli szym czasie.
PO CO KOLEJKA W WEBIE?
D ugotrwa e zadania
Przetwarzanie w tle
Pewno
transmisji
A w praktyce?
Nihli Novi
Java to ma od dawna
AMQP - Kolejka++
Otwarty protok Metoda publish-subscribe Routing Gotowe implementacje np. RabbitMQ Bramki do innych protoko w
Loose coupling
Przeciwie stwo technologii ci le po czonych gniazda TCP, UDP, CORBA, RMI
Dynamika po cze
Wpinanie listenerw w razie potrzeby
Dodawanie nowych us ug Duplikacja danych
http://docs.redhat.com/docs/enUS/Red_Hat_Enterprise_MRG/1.1/html/Messaging_Tutorial/chap-Messaging_TutorialInitial_Concepts.html#sect-Messaging_Tutorial-Initial_Concepts-Fanout_Exchange
Fanout
http://docs.redhat.com/docs/enUS/Red_Hat_Enterprise_MRG/1.1/html/Messaging_Tutorial/chap-Messaging_TutorialInitial_Concepts.html#sect-Messaging_Tutorial-Initial_Concepts-Fanout_Exchange
Direct
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_MRG/1.1/html/Messaging_Tutorial/sectMessaging_Tutorial-Initial_Concepts-Direct_Exchange.html
Topic
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_MRG/1.1/html/Messaging_Tutorial/sectMessaging_Tutorial-Initial_Concepts-Topic_Exchange.html
Przeno no
Wiele platform, wiele technologii, wiele j zykw, wiele aplikacji
Load Balancing
Opcjonalnie persistence
leafnode@gmail.com http://leafnode.pl/