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

Различия между AMQP и ZeroMQ

Недавно начали изучать эти технологии AMQP (RabbitMQ, ActiveMQ) и ZeroMQ, заинтересованные в распределенных системах/вычислениях. Были разыгрываются Google и StackOverflow вокруг, не могли найти определенного сравнения между ними.

Самое дальнее, что я получил, это то, что эти два не очень сопоставимы, но я хочу знать различия. Мне кажется, что ZeroMQ более децентрализован (нет посредника сообщений, играющего среднего человека с обработкой сообщений/доставки guarenteering), и как таковая выполняется быстрее, но не предназначена для полноценной системы, но что-то, что нужно обрабатывать более программно, что-то вроде Актеров.

AMQP, с другой стороны, кажется более полноценной системой, с центральным брокером сообщений, обеспечивающим надежную доставку, но медленнее, чем ZeroMQ из-за этого. Однако центральный брокер создает единую точку отказа.

Возможно, метафорой будет клиент/сервер против P2P?

Верны ли мои выводы? Кроме того, каковы будут преимущества, недостатки или использование случаев использования одного над другим? Сравнение использования * MQ с чем-то вроде Акка Актеров было бы неплохо.

РЕДАКТИРОВАТЬ Немного больше оглядывался.. ZeroMQ кажется новым претендентом на AMQP, кажется, намного быстрее, только проблема будет усыновлением/реализацией?

4b9b3361

Ответ 1

AMQP - это протокол. ZeroMQ - это библиотека обмена сообщениями.

AMQP предлагает управление потоком и надежную доставку. Он определяет стандартные, но расширяемые метаданные для сообщений (например, ответ на время, время жизни, а также любые определенные пользователем заголовки). ZeroMQ просто обеспечивает делимитацию сообщения (т.е. Разбиение байтового потока на атомные единицы) и предполагает, что свойства базового протокола (например, TCP) являются достаточными или что приложение будет создавать дополнительные функции для управления потоком, надежности или чего-то большего, чем ZeroMQ.

Хотя более ранние версии AMQP были определены вдоль линий клиент/сервер и поэтому требовали брокера, это больше не относится к AMQP 1.0, который по своей сути является симметричным одноранговым протоколом. Правила для посредников (например, брокеров) накладываются поверх этого. Ссылка от Alexis, сравнивающая брокерскую и брокерскую, дает хорошее описание преимуществ, которые могут предложить такие посредники. AMQP определяет правила взаимодействия между различными компонентами - клиентами, "умными клиентами", брокерами, мостами, маршрутизаторами и т.д. так что система может быть составлена ​​путем выбора полезных частей.

Ответ 2

Здесь довольно детальное сравнение AMQP и 0MQ: http://www.zeromq.org/docs:welcome-from-amqp

Обратите внимание, что 0MQ также является протоколом (ZMTP) с несколькими реализациями и сообществом.

Ответ 3

В ZeroMQ нет НИКАКИХ СООБЩЕНИЙ, так что это имя. Это просто дает возможность использовать семантику обмена сообщениями по сравнению с обычными сокетами.

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

Ответ 4

Я не уверен, как ответить на ваш вопрос, который сравнивает много разных вещей... но посмотрите на это, что поможет вам разобраться в этих проблемах: http://www.rabbitmq.com/blog/2010/09/22/broker-vs-brokerless/

Ответ 5

AMQP (Advanced Message Queuing Protocol) - это стандартный протокол уровня бинарных проводников, который позволяет соответствующим клиентским приложениям взаимодействовать с соответствующими посредниками промежуточного обмена сообщениями. AMQP позволяет межплатформенным службам/системам между различными предприятиями или внутри предприятия легко обмениваться сообщениями между собой независимо от поставщика брокера сообщений и платформы. Есть много брокеров, которые внедрили протокол AMQP, такой как RabbitMQ, Apache QPid, Apache Apollo и т.д.

ZeroMQ - это высокопроизводительная асинхронная библиотека обмена сообщениями, предназначенная для использования в масштабируемых распределенных или параллельных приложениях. Он предоставляет очередь сообщений, но в отличие от ориентированного на сообщения промежуточного программного обеспечения, система ØMQ может работать без специального брокера сообщений.

Ответ 6

Брокер-менее является неправильным по сравнению с брокерами сообщений, такими как ActiveMQ, QPid, Kafka для простой проводки.

Это полезно и может быть применено к горячим точкам для снижения сетевых переходов и, следовательно, задержек, поскольку мы добавляем надежность, сохранение и пересылку функций и требований высокой доступности, вам, вероятно, нужна распределенная служба брокера, а также очередь для совместного использования данных для поддержки свободная связь - развязанная во времени - эта топология и архитектура могут быть реализованы с использованием ZeroMQ, вы должны рассмотреть свои варианты использования и увидеть, если требуется асинхронный обмен сообщениями, и если да, то где ZeroMQ будет соответствовать, он имеет хорошую роль в решении этого и разумное знание программирования TCP/IP и сокетов поможет вам оценить все остальные, такие как ZeroMQ, AMQP и т.д.