如果我正在运行一个包含更多分区的Kafka集群,那么我的单个消费者组就会有消费者.是否有对邮件订购或跨分区按时交付邮件的保证?
简单示例:
2个分区,1个消费者
生产者通过密钥控制分区分配.
消息1进入并进入分区
消息2进入并进入分区B
消息3进入并进入分区A
我知道消息1将在消息3之前消耗,因为它们位于同一个分区中.但是消息2呢?它会在消息3之前或之后消耗吗?或者它会变化吗?可能在消息1之前消费吗?
如果新的消息继续进入分区A并且生产比消费更快怎么办?消息2会无限期地位于分区B中吗?什么时候会消耗?有没有保证消息不会永远存在?
更一般地说:如果将消费者分配给多个分区,那么该消费者如何以及何时在这些分区之间交换?
我正在阅读这两个概念.主要是卡夫卡.并与JMS比较以更好地理解.
Kafka保证订购交付和多个订户.卡夫卡如何实现它?
Kafka有多个分区.如果每个分区有一个消费者,那么我们可以保证订购.我们可以通过多个分区实现负载均衡.所以两者同时是可能的.
在JMS的情况下,如果我们有多个队列,与Kafka不同?
Q1:在这种情况下哪个更好?
Q2:我看起来很狭窄吗?卡夫卡做的不仅仅是这个吗?
请建议我.
即使我对JMS有误,请告诉我.