2010-06-30 22 views
14

Pracujemy nad aplikacją, która obsługuje AMQP do kolejkowania. Niektórzy z naszych klientów używają Websphere MQ. Zastanawiam się tylko, na wysokim poziomie, jak wymienne te dwa protokoły są pod względem funkcjonalności. Używam celery, co powinno pozwolić mi na abstrakcję rzeczy niższego poziomu, o ile mogę napisać backend Msp Websphere. Próbuję zrozumieć, jak trudne będzie to wyzwanie.AMQP vs Websphere MQ

Czy Websphere MQ zapewnia nadzbiór nad funkcjonalnością AMQP? Czy ktoś ma jakieś "cechy", które mogą utrudnić mi życie?

Odpowiedz

10

UPDATE 23 czerwca 2015
IBM ogłosił MQ Light który jest ich realizacja AMQP. ich Statement of Direction mówi, że zamierzają dostarczyć funkcje, aby umożliwić programom zaprojektowanym do uruchomienia na MQ Light, aby uruchomić w MQ w pewnym momencie w przyszłości, ale jeszcze nie ogłosić, kiedy to będzie. MQ Light jest w otwartym Beta od tego pisania.


Pierwsze ładunki przenoszone między tymi systemami będzie stosunkowo prosta z prostą aplikacją pomostowego, który czyta się jeden system i pisze do drugiego. Oba mają kolejki i tematy, możliwe jest też jawne przekierowanie.

ciekawszych części obejmują takie pojęcia jak zabawa ...

  • mapowania zwrotny miejsc. Szczególnie dynamiczne miejsca docelowe do odpowiedzi.
  • transakcyjności
  • Wszelkiego rodzaju routingu bardziej skomplikowana niż „pick up off tej kolejki/temacie, wprowadzone do tego. Na przykład brama, trasy do wielu miejsc docelowych na podstawie nazwy kolejki.
  • bezpieczeństwo Wiadomość poziomie.
  • tożsamości Mapping dla bezpieczeństwa na poziomie połączenia
  • Brak możliwości szyfrowania end-to-end wiadomości

Więc jeśli wszystko, co potrzebne jest w porządku „dostać od AMQP:.. QUEUEA, poddana WMQ: QUEUEB "i transactiona Lity nie jest ważne, powinieneś mieć łatwy czas. Poza tym zależy dokładnie od tego, co chcesz robić.

+0

Prawdopodobnie powinien wysłać pytanie, ale jaki jest macierzysty transport IBM Web MQ? Myślałem, że to MQTT, ale najwyraźniej to była ostatnia rzecz, którą dodali. –

+3

Jest to zastrzeżony protokół sieciowy. Z reguły lubię otwarte standardy, ale jedną z zalet, jaką ma WMQ, jest to, że IBM może w razie potrzeby zmienić protokół komunikacji. Kiedy więc chcieli podzielić się kilkoma połączeniami za pośrednictwem jednego gniazda i dodać strumieniowe przesyłanie z wyprzedzeniem jako ulepszenia wydajności, łatwo mogli to zrobić, chociaż oznaczało to zmianę formatów przewodów. Ogromny wpływ na wydajność. Gdyby opublikowano protokół, byłoby to o wiele trudniejsze. Jednak w przypadku większej asynchronizacji w otwartej sieci może zaistnieć potrzeba obsługi otwartego protokołu lub opublikowania MQ w pewnym momencie. –

1

IBM MQ now supports AMQP 1.0 clients (w tym istniejących klientów IBM MQ Light) poprzez wprowadzenie kanału AMQP w MQ 8.0.0.4.

+0

Czy mogę użyć funkcji kanału AMQP w wersji 8.0.0.4, aby zintegrować IBM MQ z innymi produktami AMQP, takimi jak RabbitMQ? – sijo0703

+1

Podejrzewam, że prawdopodobnie nie. RabbitMQ obsługuje protokół AMQP 0.9, podczas gdy IBM MQ obsługuje AMQP 1.0. Wersje dwóch protokołów są na tyle różne, że nie można ich stosować zamiennie. Nawet jeśli obydwa używają tego samego poziomu protokołu, żaden z produktów nie ma możliwości połączenia się jako klient z serwerem innego dostawcy - o czym jestem świadomy. Możliwe, że można napisać własną aplikację kliencką, która używa AMQP 0.9 do interakcji z serwerem RabbitMQ i AMQP 1.0 w celu interakcji z menedżerem kolejek MQ produktu IBM, przy użyciu wspomnianej aplikacji do działania jako pomost między tymi dwoma. – LaurenceBonney