2013-01-04 17 views

Odpowiedz

45

Nie istnieje oficjalna definicja tego, czym jest broker JMS, ale istnieje różnica koncepcyjna między kolejką komunikatów a brokerem. Oto moje podejście do tego.

  • Kolejka komunikatów wygląda tylko w nagłówkach wiadomości, aby dowiedzieć się, gdzie wysłać wiadomość, kolejka komunikatów nie analizuje treści wiadomości lub wykonania dowolnego kodu, który przekształca zawartość treści wiadomości. Misją kolejki wiadomości jest dostarczenie wiadomości, w końcu, raz i tylko raz, i w celu ich wysłania.
  • Broker komunikatów udostępnia środowisko programistyczne, w którym można łatwo i efektywnie napisać kod transformacji komunikatu. Na przykład możesz potrzebować przekształcić treść wiadomości z formatu A na format B i nie chcesz, aby stare klienty używające formatu A musiały zostać ponownie napisane, abyś napisał program do obsługi komunikatów i wdrożył go do wiadomości pośrednik. W tym przypadku message broker będzie osobnym procesem, który może działać na oddzielnym komputerze, który jest odpowiedzialny za uruchamianie kodu przetwarzania wiadomości.

Dużą zaletą brokerów komunikatów jest to, że potrafią zrobić kilka naprawdę miłych rzeczy dla obsługi jednoczesnego przesyłania komunikatów, fail-over dla przetwarzania logiki, wdrażania logiki przetwarzania, monitorowania i rejestrowania ... itd. Pomyśl o broker komunikatów jako wyspecjalizowany serwer aplikacji do pisania kodu przetwarzania komunikatów, prawdopodobnie w niestandardowym języku wysokiego poziomu. Na przykład broker komunikatów IBM może zostać zaprogramowany w rozszerzeniu SQL ESQL wraz z diagramami i węzłami, które łączą się ze sobą. Programy napisane dla wiadomości współpracownika będą krótsze niż w przypadku samodzielnego napisania całego kodu za pomocą zwykłego JMS.

Brokerzy mogą być scentralizowani lub rozproszeni, więc na przykład możesz mieć centralnego brokera w Nowym Jorku, do którego podłączono klientów w Londynie i Hong Kongu. Albo możesz rozprowadzić brokera i uruchomić instancję działającą w Londynie i Hongkongu, które przetwarzają komunikaty bliżej źródła/miejsca docelowego wiadomości, wszystko to zależeć będzie od twojej infrastruktury zarządzania, a także od innych zasobów, takich jak bazy danych, brokera komunikatów. z którymi trzeba porozmawiać.