Como escolher entre RabbitMQ e ZeroMQ ou algo mais?

26

Estou procurando um sistema de filas que seja rápido, confiável e potencialmente possa se espalhar pelas máquinas. Plataforma é Linux. Código aberto é preferível.

O RabbitMQ e o ZeroMQ parecem bons, mas não tenho experiência com esses ou quaisquer outros sistemas de filas. Você pode me apontar na direção certa?

Jason Cohen
fonte

Respostas:

16

ZeroMQ e RabbitMQ suportam um protocolo de mensagens aberto chamado AMQP. A vantagem do AMQP é que ele foi projetado para ser uma alternativa aberta e altamente robusta às duas filas de mensagens comerciais existentes (IBM e Tibco).

No entanto, o ZeroMQ não suporta a persistência de mensagens nas reinicializações de falhas. Isso nos deixa com RabbitMQ. (Dito isto, se você não precisa de persistência, o ZeroMQ é bastante interessante ... latência incrivelmente baixa e topologias flexíveis).

Kolypto
fonte
10
Correção pequena, RabbitMQ é uma implementação AMQP, ZeroMQ não. A história deste interessante :) lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html
Mike Hadlow
7
Não é verdade que o ZeroMQ não suporta persistência. O ZeroMQ é apenas uma biblioteca de mensagens e você pode facilmente escrever um broker que persista mensagens, se necessário. O ZeroMQ é mais como uma caixa de ferramentas que você pode usar para criar um sistema de mensagens personalizado, enquanto o AMQP é um protocolo que exige um intermediário e especifica muitos comportamentos do intermediário, como a persistência de mensagens.
Michael Dillon
@MikeHadlow a história é realmente muito interessante, obrigado pelo link
lajarre
5

A descrição detalhada está aqui. Mas por favor, não confie 100% nisso. 3 coisas têm 3 alvos.

Notas de avaliação da fila de mensagens

Para uma transação rápida e em tempo real baseada em transações, a disseminação de dados é boa com o ZeroMQ. A alta confiabilidade das mensagens é melhor com o RabbitMQ. Solução intermediária é ActiveMQ

Chand Priyankara
fonte
3

Fizemos uma avaliação de várias abordagens de mensagens.

BoostASIO (soquetes), ZeroMQ (estrutura leve) e OpenDDS (implementação completa da especificação OMG DDS.)

Um documento descrevendo os resultados pode ser encontrado aqui . Os resultados não são o que você poderia esperar.

Divulgação: o pôster é o CEO da empresa que fez a avaliação e o produto da empresa é incluído na avaliação.

Olli
fonte
9
Um diretor de uma empresa que publica um link para uma avaliação realizada por essa empresa, que compara um produto fabricado por essa empresa com outros produtos. Isso realmente parece mais um anúncio do que uma resposta. Especialmente quando esta é a única publicação / atividade do pôster da resposta.
Christopher Cashell