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:
- Skala upto 500+ węzłów fizycznych, 1000+ wydawców i subskrybentów.
- Obsługa trwałego dostarczania wiadomości, aby zadbać o niepowodzenie subskrybentów.
- Zagregowane przepustowość powinna być na północ od 1 milion wiadomości/s
problemy z AMQP:
- 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.
- 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:
- Dokumentacja wydaje się być mało chcąc w głębi.
- 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ń.
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. –
Dzięki Holger, zaktualizowałem tagi. – Kisalay
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