Подтвердить что ты не робот

Готова ли продукция ZeroMQ?

Каковы ваши опыты с ZeroMQ в качестве промежуточного программного обеспечения для обмена сообщениями общего назначения?

  • Вы столкнулись с ошибками остановки шоу или неочевидными "функциями"? Например. 2.0 не правильно очищал сообщения, а руководство по устранению неполадок, кажется, дает самый страшный обходной путь для всех: "sleep(1) перед выходом".
  • Помог ли API уменьшить сложность приложений или он оказался неприятным?
  • Часто ли нарушена совместимость в обратном направлении?
4b9b3361

Ответ 1

Я использую его для исследований, поэтому "полупроизводство". Это прекрасная рамка, и то, как вещи создаются, безусловно, имеет смысл, как только вы полностью его поймаете. Но у меня слишком много проблем, чтобы считать, что производство готово. Я использую jzmq, поэтому некоторые из них могут быть специфическими для этого.

НО, и это большой, но я не могу подсчитать, сколько человеко-часов оно спасло меня. В этом сообщении есть хорошее резюме только нескольких способов сделать жизнь более приятной.

Ответ 2

Я также использую ZeroMQ в "полупроизводственной" среде (прототипирование для DARPA). До сих пор это было действительно отлично для "связывания кошек вместе", особенно когда эти кошки написаны на разных языках и живут на разных машинах. Доступные идиомы сокетов очень легко усваивают проблему распределенных вычислений. Сила ZeroMQ - эргономика: прочная ментальная модель и обильные языковые привязки.

Будьте осторожны, если вы столкнулись с жесткими ограничениями производительности. Я работаю над системой реального времени и обнаружил, что, хотя ZeroMQ стремится быть высокопроизводительным решением, он не готов к прайм-тайм. Я думаю, что архитектура, которая имеет место, имеет большой потенциал; Кажется, что им мешают некоторые ошибки. Вероятно, мне следовало ожидать, что из библиотеки, которая развилась так быстро, от 0,0 до 3,0 за относительно короткое время. Тем не менее, я думал, что получаю замену для своего собственного, ручного инструментального стека протоколов и сразу же попадаю в некоторые разрывы. Если вы решите пойти с ZeroMQ, просто имейте в виду, что вы хорошо работаете над транспортным уровнем, и если производительность менее чем желательна, вы можете сделать это немного.

Как говорится, болтовня в списке рассылки и канале IRC довольно велика. Разработчики, похоже, искренне заинтересованы в создании чего-то совершенно современного. Им очень нравится, что их библиотека гудит и привыкает к серьезным, интересным вещам. Они заняты людьми, поэтому не ждите тонны рук. Если у вас есть настоящая проблема, они хотят узнать, что происходит.

Итог: Отличный швейцарский армейский нож для повседневных проблем с распределенными вычислениями. Будьте осторожны, если вы ищете производительность, связанную с кровотечением; это по крайней мере один крупный релиз. Тем не менее, будущее отлично подходит для этого проекта, поэтому используйте его и поддерживайте.

Ответ 3

отказ от ответственности: это происходит от человека, который раньше не использовал AMQP или какой-либо другой подобный продукт.

Плохая документация плохая. (С# был бы плохим, если бы не было документации для .Net и С#). Таким образом, ZMQ может быть лучшим, если вы знаете, как его использовать, но документация, которая существует (не много), довольно плоха (мы такие умные, это так хорошо, Erlang, blah blah, не один пример n-to-n в руководстве...).
Вы так говорите, что большинство проектов ОС имеют плохую документацию или нет. Да, но для довольно многих проектов OS вы можете google тонну вещей (учебники, примеры...). С ZMQ это: Zero для документации. Поскольку Im a С++ dev сказал, что это так. Прежде чем пытаться использовать ZMQ, я думал, что у boost есть плохая документация и относительно немного примеров в Интернете. Но по сравнению с ZMQ Boost документация отличная, и примеров много.

РЕДАКТИРОВАТЬ: сделать вещи веселее (гражданская война: P): http://www.infoq.com/news/2012/03/Crossroads-IO

Мартин Сустрик и Мартин Лучина, создатели оригинального ZeroMQ, решили восстановить контроль над проектом путем его разветвления. Новый проект, названный Crossroads I/O, настраивается для поощрения коммерческая экосистема, которая лучше способна удовлетворить их долгосрочную перспективу финансовые потребности.

EDIT2: копирование и запуск примеров из руководства (версия cpp "Request-Reply Broker" ) не работает. Вы можете видеть, насколько хорош процесс разработки библиотеки, потому что у них нет примеров в качестве тестов.: P
EDIT3: некоторые из примеров приведены в версии 2. *, из последней версии версии v3.2. Таким образом, снова это пахнет гнилым проектом OS без подкрепления.