Kolejka komunikatów
Z Wikipedii
Kolejka komunikatów – mechanizm komunikacji międzyprocesowej umożliwiający wymiane informacji pomiędzy dwoma procesami przy pomocy kolejki.
[edytuj] Informacje ogólne
Kolejka komunikatów jest asynchronicznym protokołem komunikacyjnym, co oznacza, że odbiorca i nadawca wiadomości nie muszą łączyć się z kolejką w tym samym czasie. Komunikaty przesłane kolejce są przechowywane aż do czasu odebrania przez inny proces.
Większość kolejek komunikatów ma ustawiony maksymalny rozmiar przesyłanych danych w jednej wiadomości. Te, które nie posiadają takich limitów, nazywane są mailbox.
Duża liczba implementacji kolejek działa tylko w obrębie systemu operacyjnego lub aplikacji. Takie mechanizmy przeznaczone są tylko dla celów tych systemów.
Inne implementacje pozwalają przesyłać wiadomości pomiędzy różnymi systemami, potencjalnie łącząc różne aplikacje czy systemy operacyjne. Takie kolejki zazwyczaj dostarczają metody pozwalające na zwiększenie niezawodności w przypadku awarii systemu. Przykłady komercyjnych implementacji to WebSphere MQ (wcześniej MQ Series) IBMu, kolejka firmy Fiorano, Oracle Advanced Queuing (AQ) wewnątrz bazy danych Oracle, oraz MSMQ Microsoftu. Rozwiązaniami dostępnymi na zasadach wolnego oprogramowania są Web Service Message Queue (WSMQ), JBoss Messaging, JORAM oraz ActiveMQ.
[edytuj] Inne wersje
Wiele protokołów komunikacyjnych działa synchronicznie, np. HTTP używany do przesyłania stron internetowych. W modelu synchronicznym jedna ze stron nawiązuje połączenie z drugą i czeka na odpowiedź. Jednak w wielu przypadkach takie zachowanie jest zbędne. Przykładem jest aplikacja, która informuje inne o wystąpieniu jakiegoś zdarzenia, ale nie musi czekać na potwierdzenie otrzymania przez odbiorców.