Camelo Apache vs Apache Kafka [duplicado]

[[2] esta pergunta já tem uma resposta aqui:

Tanto quanto sei, o Apache Kafka é uma plataforma assíncrona de mensagens, onde o Apache Camel é uma plataforma que implementa os padrões de integração empresarial.

Então, quais são as diferenças práticas? de camelo Apache e Kafka Apache? Planeámos implementar o sistema com o Apache Camel, o que é relativamente fácil, mas o nosso cliente queria o Apache Kafka em vez disso sem a rational.

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.

Author: Tuomas Toivonen, 2018-01-30

2 answers

Camelo e Kafka são coisas totalmente diferentes. Em muitos casos de uso, camel é apenas usado como um cliente de Kafka / activemq/... .

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.

 2
Author: Solo, 2018-01-30 11:27:48
É muito difícil comparar esses dois. Eles não estão cobrindo as mesmas áreas de trabalho, mas existem alguns sistemas, onde você pode substituir um pelo outro. Muito em breve.

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.
 1
Author: Seweryn Habdank-Wojewódzki, 2018-01-30 11:43:55