Kafka点

kpbwa7wx  于 2021-06-07  发布在  Kafka
关注(0)|答案(4)|浏览(246)

问题
我们有一个多数据中心的activemq设置,每个ha对都有nfs,而且activemq似乎没有真正的可伸缩性,并且不能很好地处理nfs问题(我们使用的是5.7)
可能的解决方案
搬到Kafka去
要求
我们需要点到点和发布/订阅功能
消息优先级(我知道kafka没有提供现成的,但是我们这边有一个解决方法)
问题
这在Kafka身上是可能的吗(不一定是现成的,但需要一些客户的调整)?如果没有,那你还建议采用什么技术?它不一定非得是jms,但它需要具有可伸缩性和可靠性(而且它需要与nfs配合良好)

yptwkmov

yptwkmov1#

kafka通过用户组概念提供点对点和发布-订阅使用模式。没有直接支持的是选择器、优先级。但是您可以跨分区分发消息,例如,您可以根据分区的优先级来分发消息。您还可以免费获得受保留策略限制的消息持久性(核心原则之一)。Kafka中的每条消息本质上都是键值对。键在分区和日志压缩中有一些特定的语义。在传统的消息传递系统中,并没有什么能像这样使用定制的报头来进行路由等。下面的文章试图对此进行总结。

7rtdyuoh

7rtdyuoh2#

对于消息的点到点传递(单生产者、单消费者),可以将分区数配置为1。生产者将发布关于这个主题和分区的消息,一个消费者将从这个主题和分区读取消息。一个主题将等同于activemq术语中的队列。
如果您想添加消息优先级,我将使用较低级别的kafka客户机,然后您可以增加分区的数量(每个分区用于不同优先级的消息),并让使用者首先从最高优先级的主题获取消息,如果不存在消息,它将从下一个较低优先级的主题获取消息。

lvjbypge

lvjbypge3#

在您的例子中,我将使用kafka,每个主题有一个分区,每个消息优先级有单独的主题,解决订户端传递的优先级问题。

2w3kk1z5

2w3kk1z54#

我们需要点到点和发布/订阅功能
Kafka做到了,在这里分享了我的发现
消息优先级
有点搞不清楚您的确切意思,但是优先级如果您是指从特定偏移量消费,那么低级别或简单的消费者api就提供了这一点。它还支持重新提交消息

相关问题