Kafka vs RabbitMQ

Sobre "reconsumir" mensagens.

No Kafka você pode ler novamente uma mensagem já consumida.

No RabbitMQ, uma vez que uma mensagem foi consumida de uma fila e o ack foi dado nela, ela é descartada.

Sobre STOMP e WebSTOMP

O RabbitMQ tem suporte fácil ao STOMP e WebSTOMP através de um plugin oficial.

O Kafka não possui plugins nativos para WebSTOMP.

Sobre segurança de acesso

O RabbitMQ permite políticas de segurança de acesso usando expressões regulares como base, isso dá um alto grau de liberdade. Alguns exemplos são: Leitura e Escrita em tópicos/exchanges/vhosts, Criação e Exclusão de filas.

Sobre quantidade de tempo que as mensagens são armazenadas

O Kafka vai joga fora as mensagens antigas segundo duas regras, a sua escolha:
- jogar fora quando a mensagem tiver x tempo de idade
- jogar fora quando o total de mensagens for igual a x espaço em disco

O RabbitMQ armazena mensagens indefinidamente, até que alguém consuma elas da fila em que está armazenada.

Referências

https://content.pivotal.io/blog/understanding-when-to-use-rabbitmq-or-apache-kafka

https://www.quora.com/What-are-the-differences-between-Apache-Kafka-and-RabbitMQ

You should also read:

NGINX + RabbitMQ + Websocket

Fazendo proxy reverso websocket com nginx, sem TLS server { listen 3000; server_name ws.ubivis.io; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host;…