2010-07-08 23 views
12

Chciałam uzyskać informację zwrotną na temat tego, czy moje oceny i obawy są prawidłowe.DDS vs AMQP vs ZeroMQ

Przez jakiś czas zajmowałem się teraz trzema usługami dystrybucji danych, AMQP i ZeroMQ w celu zbudowania warstwy transportu danych w centrum danych. Wszystkie trzy wyglądają obiecująco, jednak w niektórych przypadkach napotkałem pewne problemy z blokowaniem.

Aby dać kontekst, moje wymagania to:

  1. Skala upto 500+ węzłów fizycznych, 1000+ wydawców i subskrybentów.
  2. Obsługa trwałego dostarczania wiadomości, aby zadbać o niepowodzenie subskrybentów.
  3. Zagregowane przepustowość powinna być na północ od 1 milion wiadomości/s

problemy z AMQP:

  1. Architektura Broker wydaje się być wąskim gardłem i centralny punkt awarii w całej konfiguracji wdrażania. Mogę skomplikować moje wdrożenie poprzez umieszczenie federacji i klastra, aby poprawić wydajność i dostępność oczekujących wiadomości, ale nadal nie wydają się odporne na awarie.
  2. Wydajność trwałych kolejek wydaje się być znacznie mniejsza. Moja przykładowa aplikacja może tylko zegar 6-7K wiadomości/core/queue/application.

Problemy z ZeroMQ:

  1. Dokumentacja wydaje się być mało chcąc w głębi.
  2. Zachowanie się systemu oczekujących komunikatów wydaje się powodować problemy w modelu komunikacji PUB/SUB. Proszę odnieść się do: How zeromq handles slow consumers with PUB/SUB mode

OpenSplice DDS: nie znalazłem czegoś brakuje w protokole DDS wyjątkiem przyjęcia w branży. Chciałbym poznać recenzję z pierwszej ręki na temat tego produktu pod względem stabilności, wydajności lub ograniczeń.

+0

Poniżej opiszę twoje pytanie, ale na razie chcę zasugerować dodanie tagu "data-distribution-service" zamiast "dds". Ta ostatnia wydaje się być porwana przez programowanie graficzne. –

+0

Dzięki Holger, zaktualizowałem tagi. – Kisalay

+2

Tylko po to, aby powiązana dyskusja ZeroMQ była bardziej subtelna: w przypadku PUB/SUB, istnieje rzeczywiście wstępnie ustalany limit dla każdej subskrybenta dla rozmiaru kolejki wiadomości, nad którym wiadomości są usuwane. Istnieje jednak również opcja ZMQ_SWAP, za pomocą której można włączyć wymianę dysków wiadomości. Cytowanie [1] "Istnieje jednak wyjście. ØMQ dostarcza coś, co nazywa się >> zamianą <<, czyli plikiem dysku, który przechowuje wiadomości, których nie możemy zapisać w kolejce" [1] http: // zguide.zeromq.org/chapter:all – ron

Odpowiedz

12

Jestem zaskoczony waszymi obawami związanymi z przyjęciem DDS przez OpenSplice. OpenSplice DDS jest obecnie wdrażany w kilku kluczowych systemach biznesowych i strategicznych, takich jak Naval Combat Management Systems, pojazdy wojskowe, kontrola ruchu lotniczego i zarządzanie, Metro, do automatycznego handlu z wysoką częstotliwością. Tylko po to, by dać ci jeszcze trochę informacji, które powinny Cię uspokoić w.r.t. Przyjęcie technologii, standardu OMG DDS (standard wdrożony przez OpenSplice DDS), zostało rekomendowane przez EUROCAE do wymiany planów lotów w centrach paneuropejskich.

Daj mi znać, jeśli masz więcej pytań na temat adopcji lub technologii.

-AC

+2

Tak, i ja patrzyliśmy na kod OpenSplice i to jest okropne. Również API to wielki bałagan i jest to droga do skomplikowania konfiguracji. OpenSplice został napisany przez ludzi, którzy nie rozumieją nic na temat zasad projektowania oprogramowania. Może to być przyjęte przez wiele firm, ponieważ działa, ale na pewno nie jest to droga, którą chcesz rozwijać, jeśli chcesz ewoluować w przyszłość. – fonZ

1

Spójrz na this stronie. Wiele branż i firm korzysta dziś z DDS.