SpringCloud 实战二十五:Stream消息之重复消费

  作者:记性不好的阁主

生产者:

cloud-stream-provider8801

消费者:

cloud-stream-consumer8802

cloud-stream-consumer8003


不分到同一组:


8802配置:


server:
port: 8802



spring:
application:
name: cloud-stream-consumer

cloud:
stream:
binders:
defaultRabbit:
type: rabbit
environment:
spring:
rabbitmq:
host: 47.56.236.87
port: 5672
username: admin
password: admin
bindings:
input:
destination: studyExchange
content-type: application/json
binder: defaultRabbit



eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka, http://eureka7002.com:7002/eureka


8803配置


server:
port: 8803



spring:
application:
name: cloud-stream-consumer

cloud:
stream:
binders:
defaultRabbit:
type: rabbit
environment:
spring:
rabbitmq:
host: 47.56.236.87
port: 5672
username: admin
password: admin
bindings:
input:
destination: studyExchange
content-type: application/json
binder: defaultRabbit



eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka, http://eureka7002.com:7002/eureka



启动服务:




访问:http://localhost:8801/sendMessage


8801发送消息:




8802接收消息:




8803也接收消息:




如果不分组,那么每个消费者存在一种共同消费状态



分到同一组:


8802配置分组group:


server:
port: 8802



spring:
application:
name: cloud-stream-consumer

cloud:
stream:
binders:
defaultRabbit:
type: rabbit
environment:
spring:
rabbitmq:
host: 47.56.236.87
port: 5672
username: admin
password: admin
bindings:
input:
destination: studyExchange
content-type: application/json
binder: defaultRabbit
group: A


eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka, http://eureka7002.com:7002/eureka



8803配置分组group:


server:
port: 8803



spring:
application:
name: cloud-stream-consumer

cloud:
stream:
binders:
defaultRabbit:
type: rabbit
environment:
spring:
rabbitmq:
host: 47.56.236.87
port: 5672
username: admin
password: admin
bindings:
input:
destination: studyExchange
content-type: application/json
binder: defaultRabbit
group: A


eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka, http://eureka7002.com:7002/eureka


两者都分组到了A组


访问:http://localhost:8801/sendMessage


8801发送消息




8802接收消息




8803不接收消息无日志输出,同一分组变成了竞争关系,从而保证了消息不能被重复消费。



相关推荐

评论 抢沙发

表情

分类选择