SpringCloud-stream-消息分区

一)分区的特点

1.Stream的分区是当消息的提供者发送了相同的消息的时候,如果被集群的中的某个节点消费了那么如果提供者在此发送相同的消息的时候 ,一致会被同一个的消费者消费掉

分区的配置
提供者端需要配置的信息

spring.application.name=12-springcloud-stream-group-send
server.port=7070
eureka.client.service-url.defaultZone=http://peer1:8081/eureka/,http://peer2:8082/eureka/,http://peer3:8083/eureka/

#添加RabbitMQ信息
spring.rabbitmq.host=192.168.177.140
spring.rabbitmq.port=5672
spring.rabbitmq.username=oldlu
spring.rabbitmq.password=123456
spring.rabbitmq.virtual-host=/

#设置MQ内的交换请名称  outputProduct自定义在发送接口获取的值为outputProduct
spring.cloud.stream.bindings.outputProduct.destination=outputProduct
#设置消息类型
spring.cloud.stream.bindings.outputProduct.content-type=text/plain


#-------------------分区配置-------------------
#outputProduct队列的名称需要和上面的相同后面的是固定写法
spring.cloud.stream.bindings.outputProduct.producer.partition-key-expression=payload
#指定分区的数量:此数量要和消费者集群内节点数一致,有多少个节点就有多少个
spring.cloud.stream.bindings.outputProduct.producer.partition-count=2

消费端配置

spring.application.name=14-springcloud-stream-group-customer2
server.port=6061
eureka.client.service-url.defaultZone=http://peer1:8081/eureka/,http://peer2:8082/eureka/,http://peer3:8083/eureka/

#添加RabbitMQ信息
spring.rabbitmq.host=192.168.177.140
spring.rabbitmq.port=5672
spring.rabbitmq.username=oldlu
spring.rabbitmq.password=123456
spring.rabbitmq.virtual-host=/

#设置MQ内的交换请名称 inputProduct自定义在发送接口获取的值为outputProduct
spring.cloud.stream.bindings.inputProduct.destination=outputProduct
#设置持久化 注意这个的名字要和的上面的队列的键名一致
spring.cloud.stream.bindings.inputProduct.group=groupProduct


#--------------消费者分区设置----------------
#开启消费者分区功能
spring.cloud.stream.bindings.inputProduct.consumer.partitioned=true
#指定了当前消费者的总实例数量要和的集群内的节点数相同
spring.cloud.stream.instanceCount=2
#设置当前实例的索引号,从 0 开始 
spring.cloud.stream.instanceIndex=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值