消息组和消息分区是否能同时作用?

消息组和消息分区是否能同时作用?

# 具体遇到的问题
在测试消息分区试,我新增加了一个节点示例,仅仅只改变了消费组
# 第一个实例配置

cloud:
stream:
bindings:
# 绑定channelbroadcast
     myTopic-producer:
destination: broadcast
# 绑定channelbroadcast
     myTopic-consumer:
destination: broadcast
# 消息分组示例
     group-producer:
destination: group-topic
## 设置生产者消息分区个数为2
       producer:
partition-count: 2
## SpEL key resolver
         ## 只有索引参数为1的节点(消费者),才能消费消息
         partition-key-expression: "1"
     group-consumer:
destination: group-topic
# 指定当前消费者示例属于哪个消费组
       group: Group-A
## 消息分区配置
       consumer:
## 开启消息分区功能
         partitioned: true
# 当前消费者示例总数
   instance-count: 2
   # 当前实例的索引号,最大值:instance-count-1
   instance-index: 1

# 相关课程内容截图

第二个实例配置

cloud:
stream:
bindings:
# 绑定channelbroadcast
     myTopic-producer:
destination: broadcast
# 绑定channelbroadcast
     myTopic-consumer:
destination: broadcast
# 消息分组示例
     group-producer:
destination: group-topic
## 设置生产者消息分区个数为2
       producer:
partition-count: 2
## SpEL key resolver
         ## 只有索引参数为1的节点(消费者),才能消费消息
         partition-key-expression: "1"
     group-consumer:
destination: group-topic
# 指定当前消费者示例属于哪个消费组
       group: Group-B
## 消息分区配置
       consumer:
## 开启消息分区功能
         partitioned: true
# 当前消费者示例总数
   instance-count: 2
   # 当前实例的索引号,最大值:instance-count-1
   instance-index: 1

第三个实例配置

cloud:
stream:
bindings:
# 绑定channelbroadcast
     myTopic-producer:
destination: broadcast
# 绑定channelbroadcast
     myTopic-consumer:
destination: broadcast
# 消息分组示例
     group-producer:
destination: group-topic
## 设置生产者消息分区个数为2
       producer:
partition-count: 2
## SpEL key resolver
         ## 只有索引参数为1的节点(消费者),才能消费消息
         partition-key-expression: "1"
     group-consumer:
destination: group-topic
# 指定当前消费者示例属于哪个消费组
       group: Group-B
## 消息分区配置
       consumer:
## 开启消息分区功能
         partitioned: true
# 当前消费者示例总数
   instance-count: 2
   # 当前实例的索引号,最大值:instance-count-1
   instance-index: 0

# 尝试过的解决思路和结果

    测试结果是两个组下的指定索引实例都会消费消息,那是不是可以理解为当消费分区和消费组不能同时作用,且以消费分区生效。


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

两个组下指定的索引实例都会消费消息,这个就是预期的正确结果,一个消息发出之后,会被每个消费组消费一次,加上消费分区的设置,那就是每个组对应下标的实例都会收到这个消息

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师