据我所知,Apache Kafka是异步消息传递平台,而Apache Camel是实现企业集成模式的平台。
那么,Apache Camel和Apache Kafka的实际区别是什么呢?我们计划用Apache Camel实现系统,这相对容易,但我们的客户想要Apache Kafka而不是rational。
选择Apache Kafka实现消息队列功能有什么好处,Apache Camel也可以实现?我担心Kafka只会给项目带来不必要的开销。我们是在比较苹果和橙子吗?
我们需要简单明了的API来设置和使用集群消息队列。我们最初的计划是使用Camel在集群JMS或ActiveMQ队列上消费/生产。Kafka如何让这项任务变得更容易?无论哪种情况,应用程序本身都将在WebLogic服务器上运行。
消息传递将是点对点类型,其中有多个相同服务的实例在运行,但只有一个实例应根据负载均衡策略处理消息并发出结果。消息队列也是集群的,因此服务实例或队列实例的故障都不是SPOF。
发布于 2018-01-30 19:27:48
Camel和Kafka是完全不同的东西。在许多用例中,camel只是用作kafka/activemq/...的客户端。
Kafka和activemq是相似的,但也有不同的东西,请参考What is the difference between Apache kafka vs ActiveMQ。Kafka具有更高的吞吐量,并且数据始终在磁盘上,因此比activemq更可靠一些。
书中说,Kafka通常被用作实时数据流,而在一般情况下,activemq主要用于应用程序之间的集成。但在大多数现实世界中,kafka和activemq可以很容易地相互替代。
发布于 2018-01-30 19:26:41
这两个很难比较。它们并不涵盖相同的工作领域,但存在一些系统,在这些系统中,您可以用一个替换另一个。
所以非常简短。
Kafka是一个消息传递平台,具有流式处理消息Apache Kafka的能力。
Camel是ETL框架,它可以将消息/事件/数据从“任何”输入点(参见Camel的端点列表)转换为“任何”输出Apache Camel - Enterprise Integration Patterns。
你可以使用没有卡夫卡的骆驼,反之亦然。当然,同时使用这两种方法也是有可能的。
https://stackoverflow.com/questions/48519935
复制相似问题