Czy produkcja ZeroMQ jest gotowa?

Jakie są Twoje doświadczenia z ZeroMQ jako uniwersalnym oprogramowaniem pośredniczącym do przesyłania wiadomości?

  1. czy natknąłeś się na jakieś błędy lub nieoczywiste "cechy"? Np. 2.0 nie płukał poprawnie wiadomości i przewodnik rozwiązywania problemów wydaje się dawać najbardziej przerażające obejście ze wszystkich: "sleep(1) przed zakończeniem".
  2. czy API zmniejszyło złożoność aplikacji, czy okazało się kłopotliwe?
  3. Czy zgodność wsteczna jest często łamana?
Author: Alex B, 2011-02-02

3 answers

Używam go do badań, więc "półprodukcja". To wspaniałe ramy, a sposób, w jaki rzeczy są projektowane, z pewnością ma sens, gdy w pełni go grok. Ale mam zbyt wiele problemów, aby uznać go za gotowy do produkcji. Używam jzmq, więc niektóre z nich mogą być specyficzne dla tego.

  1. Konfiguracja jzmq na OS X / Eclipse jest...niezbyt przyjemne.
  2. Uruchomienie aplikacji czasami spowoduje awarię twierdzenia w kodzie ZeroMQ C, więc muszę zawinąć moją aplikację w coś, co sprawdza ten wyjątkowy stan.
  3. błędy są często bardzo nieopisane. Miałem zbyt wiele nielegalnych WYJĄTKÓW państwowych bez żadnego wyjaśnienia.
  4. nie ma wsparcia dla TLS. Jest to dla mnie prawie łamanie umowy i łatwo widziałem, że wyklucza to dostępność dla wielu aplikacji.
  5. Dokumentacja jest "wyłączona". Oficjalny przewodnik jest ładny, ale jeśli masz konkretny problem, zazwyczaj nie jest pomocny. And it takes me longer niż zwykle, aby znaleźć odpowiedzi na rzeczy podczas googling wokół. Lista dyskusyjna jest jednak dość aktywna.

Ale, i to jest duże ale, nie mogę zliczyć, ile męskich godzin mnie uratowało. ten post ma dobre podsumowanie tylko kilku sposobów, aby uczynić życie przyjemniejszym.

 29
Author: ysimonson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:08:56

Używam również ZeroMQ w środowisku "półprodukcyjnym" (Prototypowanie dla DARPA). Do tej pory był naprawdę doskonały do "wiązania kotów", zwłaszcza gdy te koty są napisane w różnych językach i żyją na różnych maszynach. Dostępne idiomy gniazd sprawiają, że myślenie o rozproszonym problemie obliczeniowym jest bardzo proste. Siłą ZeroMQ jest ergonomia: solidny model mentalny i bogate powiązania językowe.

Zachowaj ostrożność, jeśli są wobec trudnych ograniczeń wydajności. Pracuję nad systemem czasu rzeczywistego i odkryłem, że chociaż ZeroMQ ma być rozwiązaniem o wysokiej wydajności, nie jest gotowy na primetime. Myślę, że architektura, która jest na miejscu ma wielki potencjał; wydaje się być utrudnione przez kilka drobnych błędów. Prawdopodobnie powinienem się tego spodziewać z biblioteki, która ewoluowała tak szybko, przechodząc od 0.0 do 3.0 w stosunkowo krótkim czasie. Mimo to, pomyślałem, że dostanę zastępstwo za moje własne., ręczny stos protokołów i natychmiast uderzył w niektórych deal-breakers. Jeśli zdecydujesz się na ZeroMQ, pamiętaj, że pracujesz znacznie powyżej warstwy transportowej, a jeśli wydajność jest mniej niż pożądana, niewiele możesz z tym zrobić.

To powiedziawszy, rozmowy na liście dyskusyjnej i kanale IRC są całkiem niezłe. Deweloperzy wydają się być naprawdę zainteresowani zbudowaniem czegoś, co jest całkowicie najnowocześniejsze. Kochają to, że ich Biblioteka ma buzz i jest coraz używany na poważne, ciekawe rzeczy. To zapracowani ludzie, więc nie oczekuj mnóstwa trzymania się za ręce. Jeśli jednak masz prawdziwy problem, są chętni, aby wiedzieć, co się dzieje.

Podsumowując: świetny szwajcarski nóż wojskowy do codziennych problemów z rozproszonymi komputerami. Zachowaj ostrożność, jeśli szukasz najlepszej wydajności; jest to co najmniej jedno główne wydanie wyłączone. Mimo to przyszłość wygląda świetnie dla tego projektu, więc używaj go i wspieraj.

 14
Author: BrianTheLion,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-13 19:05:27

Zastrzeżenie: pochodzi to od osoby, która nigdy wcześniej nie używała AMQP lub innego podobnego produktu.

Zła dokumentacja jest zła. (C# byłoby źle, gdyby nie było dokumentacji dla. Net i C#) więc ZMQ może być najlepszą rzeczą, jeśli wiesz, jak go używać, ale dokumentacja, która istnieje (niewiele) jest dość zła (jesteśmy tacy mądrzy, to jest tak dobre, Erlang, bla bla, nie jeden przykład n-do-n w guide...).
Mówisz, że co, większość projektów OS ma złe dokumentacja lub brak. Tak, ale dla dość oa kilka projektów OS można google mnóstwo rzeczy (tutoriale, przykłady...). Z ZMQ jest : Zero jest dla dokumentacji. Ponieważ im C++ dev il powiedzieć to w ten sposób. Przed próbą użycia ZMQ myślałem, że boost ma złą dokumentację i stosunkowo niewiele przykładów w Internecie. Ale w porównaniu do ZMQ boost dokumentacja jest świetna, a przykłady są obfite.

EDIT: to make things more fun(civil war :P): http://www.infoq.com/news/2012/03/Crossroads-IO

Martin Sustrik i Martin Lucina, twórcy oryginalnego ZeroMQ, zdecydowali się odzyskać kontrolę nad projektem, rozwidlając go. Nowy projekt, nazwany Crossroads I / O, jest ustawiony, aby zachęcić ekosystem komercyjny, który jest lepiej zdolny do spełnienia ich długoterminowego potrzeby finansowe.

EDIT2: kopiowanie i uruchamianie przykładów z przewodnika (wersja cpp " brokera zapytań i odpowiedzi") doesnt praca. O tym, jak dobry jest proces tworzenia bibliotek świadczy fakt, że nie mają one swoich przykładów jako testów. : P
EDIT3: niektóre przykłady są w v2.* najnowsza wersja ofc to v3. 2. Więc znowu to śmierdzi jak zepsuty projekt systemu operacyjnego.

 0
Author: NoSenseEtAl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-05 10:35:13