FogueteMQ
Código aberto Alibaba, projetado por Alibaba com referência ao kafka, implementado em Java
Capacidade de garantir uma ordem rigorosa de mensagens
Fornece função de filtragem de mensagens
Fornece modos avançados de extração de mensagens
Escalabilidade horizontal eficiente do assinante
Mecanismo de assinatura de mensagens em tempo real
Capacidade de acumulação de mensagens em nível de bilhões
CoelhoMQ
A implementação de Erlang é muito pesada e mais adequada para desenvolvimento em nível empresarial. Ao mesmo tempo, a arquitetura Broker é implementada. A ideia central é que o produtor não envie mensagens diretamente para a fila. A mensagem é primeiro enfileirada na fila central quando enviada ao cliente. Possui bom suporte para roteamento, balanceamento de carga e persistência de dados.
ActiveMQ
Um subprojeto no Apache, implementado em Java, com uma pequena quantidade de código você pode implementar com eficiência cenários de aplicativos avançados
Redis
Pode ser usado como um serviço de fila leve, implementado em linguagem C
Experimentos mostraram que ao entrar na fila, o desempenho do Redis é superior ao do RabbitMQ quando os dados são relativamente pequenos, mas se o tamanho dos dados exceder 10K, o Redis é insuportavelmente lento; ao sair da fila, o Redis mostra um desempenho muito bom independentemente do tamanho dos dados. e o desempenho de desenfileiramento do RabbitMQ é muito menor que o do Redis
Kafka
Um subprojeto no Apache, um sistema distribuído de fila de mensagens de publicação/assinatura de alto desempenho implementado usando scala
Persistência rápida: por meio do mecanismo de leitura e gravação sequencial de disco e cópia zero, a persistência da mensagem pode ser realizada com sobrecarga do sistema O(1);
Alto rendimento: Uma taxa de rendimento de 10 W/s pode ser alcançada em um servidor comum;
Alta acumulação: permite que os consumidores no tópico fiquem off-line por muito tempo, e a quantidade de acumulação de mensagens é grande;
Sistema totalmente distribuído: Corretor, Produtor e Consumidor, todos suportam distribuição de forma nativa e automática, contando com o zookeeper para alcançar automaticamente um equilíbrio complexo;
Suporta carregamento paralelo de dados do Hadoop: Esta é uma solução viável para dados de log e sistemas de análise offline como o Hadoop, mas requer restrições de processamento em tempo real
ZeroMQ
Conhecido como o sistema de fila de mensagens mais rápido, é especialmente desenvolvido para cenários de alto rendimento/baixa latência. É frequentemente usado em aplicações do setor financeiro e se concentra em cenários de comunicação de dados em tempo real.
Somente filas não persistentes são fornecidas. Se a máquina estiver inoperante, os dados serão perdidos.