Camelo Apache vs Apache Kafka [duplicado]
Quais seriam as vantagens de escolher o Apache Kafka para implementar uma funcionalidade de Fila de mensagens, que também poderia ser implementada com o Apache Camel? Preocupa-me que o Kafka introduza despesas desnecessárias no projecto. Estamos a comparar maçãs e laranjas?
O que precisamos é de clareza. API's para configurar e usar filas de mensagens agrupadas. Nosso plano inicial era usar Camel para consumir / produzir em filas de JMS ou Ativemq. Como É Que o Kafka facilitaria esta tarefa? A aplicação em si seria executado no servidor WebLogic em ambos os casos.a mensagem seria tipo ponto-a-ponto, onde existem várias instâncias do mesmo serviço em execução, mas apenas uma instância deve processar a mensagem e emitir o resultado de acordo com a Política de balanceamento de carga. As filas de mensagens também são clustered, so neither failure of service instance or queue instance is SPOF.
2 answers
Kafka e activemq são semelhantes, mas também coisas diferentes, consulte Qual é a diferença entre Apache kafka vs ActiveMQ . Kafka tem maior débito, e os dados sempre no disco, então um pouco mais confiável do que o activemq.
O Kafka é normalmente utilizado como transmissão de dados em tempo real e, em geral, o activemq é utilizado principalmente para a integração entre aplicações, diz O Livro. Mas na maioria dos casos do mundo real ,kafka e activemq podem substituir-se facilmente.
O Kafka é uma plataforma de mensagens com capacidade de transmissão de mensagens Apache Kafka .
Camel is ETL framework it can transform messages/events / data from " any "(see endpoint list by Camel) input point and send it to " any " output Apache Camel-Enterprise Integration Padrões.
Podes usar Camelo sem Kafka, e vice-versa. Mas há, naturalmente, possibilidades de usar com sucesso ambos juntos.
- Caso 1. Você processa o correio e armazena no PostgreSQL DB. Kafka é inútil. aqui.
- caso 2. Processa as mensagens do ActiveMQ e envia-as para Kafka. Pode usar ambos.