Migration ApacheKafka是JMS的另一个API吗?

Migration ApacheKafka是JMS的另一个API吗?,migration,apache-kafka,jms,Migration,Apache Kafka,Jms,apachekafka不是JMS的另一个实现吗 我正在应用程序中使用JMS+AMQ,并迁移到apachekafka。我必须更改所有的JMS代码吗?不,Kafka与ActiveMQ等JMS系统不同。 看 卡夫卡的功能比ActiveMQ少,因为重点放在性能上。因此,在迁移之前,请检查您在AMQ中使用的功能是否在Kafka中 然而,有一个开放的建议是在JMS和Kafka之间架起一座桥梁,以满足您的需要。也许提供的链接可以帮助您 不,卡夫卡使用自己的非标准协议和客户端 然而,有第三方。事实上,这两者并不

apachekafka
不是
JMS
的另一个实现吗


我正在应用程序中使用
JMS+AMQ
,并迁移到
apachekafka
。我必须更改所有的
JMS
代码吗?

不,Kafka与ActiveMQ等JMS系统不同。 看

卡夫卡的功能比ActiveMQ少,因为重点放在性能上。因此,在迁移之前,请检查您在AMQ中使用的功能是否在Kafka中

然而,有一个开放的建议是在JMS和Kafka之间架起一座桥梁,以满足您的需要。也许提供的链接可以帮助您

不,卡夫卡使用自己的非标准协议和客户端


然而,有第三方。

事实上,这两者并不相同。再过一点时间,看看这两个项目是如何共存的,听听每一个部署在现场的人的问题和快乐点,关于每一个项目,还有更多的话要说

首先,JMS支持点对点消息传递(消息发送给单个消费者;消费者自己维护消息队列)和发布和订阅(发布/订阅)模型(其中消息被写入单个主题,消费者独立决定使用哪些消息)

在点对点消息传递体系结构中,消息生产者和消费者彼此了解,而在发布/订阅模型中,他们彼此不了解。ApacheKafka专注于pub/sub模型,维护一个单独的日志/主题,消费者从中读取偏移量。Kafka也是,高吞吐量是一个核心考虑因素

在我们的社区和聚会上,许多人对MOMs(面向消息的中间件)失望地举手例如,就像JMS和切换到Kafka一样,归结起来只有一个原因:可伸缩性。他们认为Kafka比其他MOM更适合于扩展,因为Kafka维护一个分区的主题日志。这样,Kafka就可以按分区将消息流拆分到多个消费者组,并批量传输消息

这一概念还允许卡夫卡对卡夫卡消费者的ACL(访问控制)进行更精细的控制,尽管存在一些问题,Apache Pulsar正在解决这些问题

最后,在Kafka上,由于客户机/消费者决定使用哪些消息(通过主题中的偏移量),这就消除了内置于MOM(如JMS)中的路由规则的生产者端复杂性


<> P>有很多不同之处,但这是一些持续出现的部分的升华。希望这有帮助。

参见这个线程不确定调用卡夫卡专有是正确的。它完全是开源的,在Apache软件基金会的领导下()发布客户端、代理和Kafka协议的源代码。JMS规范是由Java社区流程定义的API规范。AMQP 1.0是由OASIS定义的协议规范。JMS和AMQP都不是ActiveMQ和Kafka这样的软件。JMS和AMQP都有专有和开源软件实现。Apache aCTIVEMQ和Apache卡夫卡是Apache软件基金会的项目,并被授权为免费开源软件(OFS),这与专有软件形成对比,其中软件受到限制性版权保护,而源代码通常不被用户所隐藏。因为我不是以英语为母语的人,所以编辑我的答案以更准确地反映我的意思。