不是 Apache Kafka 另一个实现 JMS ?我正在使用 JMS+AMQ 在我的应用程序中,并迁移到 Apache Kafka . 我必须全部改变吗 JMS 代码?
Apache Kafka
JMS
JMS+AMQ
6qfn3psc1#
不,kafka不同于诸如activemq之类的jms系统。参见activemq vs阿波罗vsKafkaKafka的特性比activemq少,因为重点放在性能上。因此,在迁移之前,请检查您在amq中使用的特性是否在kafka中。然而,有一个开放的建议是在jms和kafka之间架起一座桥梁,以满足您的需要。也许提供的链接可以帮助你https://issues.apache.org/jira/browse/kafka-1995
kxeu7u2r2#
不,Kafka使用自己的非标准协议和客户端。但是,confluent为kafka提供了一个第三方jms客户端。
5hcedyr03#
实际上,这两者是不一样的。再花一点时间看看这两者的共存,听听部署在战场上的每一个人的问题和快乐点,每一个人都有更多的话要说。首先,jms支持点对点消息传递(其中消息被发送到单个使用者;使用者自己维护其消息队列)和发布和订阅(pub/sub)模型(其中消息被写入单个主题,使用者独立地决定要使用哪些消息)。在点对点消息传递体系结构中,消息生产者和消费者相互了解,而在pub/sub模型中则不了解。apachekafka专注于一个pub/sub模型,维护一个单独的日志/主题,消费者从中读取偏移量。Kafka也是为云而建,高通量是一个核心考虑因素。在我们的社区和聚会上,许多人对jms这样的mom(面向消息的中间件)感到沮丧,于是转而使用kafka,原因归结为一个:可伸缩性。他们认为Kafka比其他妈妈更适合规模化,因为Kafka维护一个分区主题日志。这样,kafka就可以通过划分和批量传输消息,将消息流分割成多个用户组。这个概念还允许kafka对kafka消费者的acl(访问控制)进行更精细的控制,尽管存在一些apachepulsar正在解决的问题。最后,在kafka上,由于客户机/使用者决定使用哪些消息(通过主题中的偏移量),这消除了mom中内置的路由规则(如jms)在生产者端的复杂性。有更多的不同,但这是一个升华的一些不断出现!希望这有帮助。
3条答案
按热度按时间6qfn3psc1#
不,kafka不同于诸如activemq之类的jms系统。参见activemq vs阿波罗vsKafka
Kafka的特性比activemq少,因为重点放在性能上。因此,在迁移之前,请检查您在amq中使用的特性是否在kafka中。
然而,有一个开放的建议是在jms和kafka之间架起一座桥梁,以满足您的需要。也许提供的链接可以帮助你https://issues.apache.org/jira/browse/kafka-1995
kxeu7u2r2#
不,Kafka使用自己的非标准协议和客户端。
但是,confluent为kafka提供了一个第三方jms客户端。
5hcedyr03#
实际上,这两者是不一样的。再花一点时间看看这两者的共存,听听部署在战场上的每一个人的问题和快乐点,每一个人都有更多的话要说。
首先,jms支持点对点消息传递(其中消息被发送到单个使用者;使用者自己维护其消息队列)和发布和订阅(pub/sub)模型(其中消息被写入单个主题,使用者独立地决定要使用哪些消息)。
在点对点消息传递体系结构中,消息生产者和消费者相互了解,而在pub/sub模型中则不了解。apachekafka专注于一个pub/sub模型,维护一个单独的日志/主题,消费者从中读取偏移量。Kafka也是为云而建,高通量是一个核心考虑因素。
在我们的社区和聚会上,许多人对jms这样的mom(面向消息的中间件)感到沮丧,于是转而使用kafka,原因归结为一个:可伸缩性。他们认为Kafka比其他妈妈更适合规模化,因为Kafka维护一个分区主题日志。这样,kafka就可以通过划分和批量传输消息,将消息流分割成多个用户组。
这个概念还允许kafka对kafka消费者的acl(访问控制)进行更精细的控制,尽管存在一些apachepulsar正在解决的问题。
最后,在kafka上,由于客户机/使用者决定使用哪些消息(通过主题中的偏移量),这消除了mom中内置的路由规则(如jms)在生产者端的复杂性。
有更多的不同,但这是一个升华的一些不断出现!希望这有帮助。