Systemy kolejkowe

Autor: Marcin Kasiński
21.01.2011 13:24:00 +0200

Do najważniejszych zalet takich systemów jest to, że podczas komunikacji nie jest wymagane aby w tym samym czasie oba komunikujące się ze sobą systemy działy. Aplikacja wysyłająca komunikat informujący o zmianie w swoim systemie wysyła go do swojej kolejki wyjściowej nie wiedząc, czy aplikacja docelowa jest uruchomiona, czy nie i czy komunikat został już przetworzony. W zadzie nawet ją to nie interesuje. Niezależnie, czy aplikacja docelowa działa, czy nie, komunikat pozostaje w jej kolejce. Kiedy aplikacja docelowa zostanie uruchomiona może przeczytać komunikat i wykonać odpowiednie działania. Do omówienia zasady działania takich systemów kolejkowania ważne jest omówienie kilku terminów z nimi związanymi. Menadżer kolejek, to proces uruchomiony na serwerze, nasłuchujący na odpowiednich protokołach na połączenia sieciowe lub poprzez lokalne wywołanie API. Proces ten obsługuje podłączone do niego aplikacje, jak również inne menadżery kolejek. Aplikacje po połączeniu sie z procesem mają możliwość wykonania różnego rodzaju operacji na kolejkach. Kolejka z kolei, to kolejny logiczny obiekt takich systemów. Do kolejki takiej można wysyłać komunikaty (dane), z niej komunikaty pobierać lub je przeglądać. Oznacza to, ze każda aplikacja powinna mieć do pracy otwarte co najmniej dwie kolejki, jedną do odczytywania z niej komunikatów, a drugą do wysyłania do niej własnych komunikatów. Oczywiście tych kolejek może być więcej, wszystko to zależy od architektury systemu. Podczas działania aplikacja czyta komunikaty z kolejki. Każde pobranie komunikatu oznacza usunięcie go z kolejki co zapewnia ze konkretny komunikat zawsze zostanie przeczytany tylko raz. Przeglądanie z kolei odczytuje komunikat z kolejki pozostawiając go cały czas w kolejce. Aby poprawić wydajność aplikacji można uruchomić ją w kilku watkach co spowoduje, ze jednocześnie w danej chwili może być procesowanych wiele komunikaów poprzez zrównoleglenie zadań.


powrót
Zachęcam do przedstawienia swoich uwag i opinii w polu komentarzy.

Komentarze

Dodaj Komentarz