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