RabbitMQ消息的可靠投递

1、保障消息发送成功
使用事务的手段,性能低【了解】
使用异步的confirm确认机制,确认消息到达exchange中

消息从producer到exchange则会返回一个confirmCallback

<rabbit:connection-factory id="connectionFactory" host="${rabbitmq.host}"
									 port="${rabbitmq.port}" 
									 username="${rabbitmq.username}" 
									 password="${rabbitmq.password}"
									  virtual-host="${rabbitmq.virtual-host}" 
									  publisher-confirms="true"
									  publisher-returns="true"
 />

**yml**
spring: 
	rabbitmq: 
		host: 172.16.98.133 #主机ip 
		port: 5672 #端口 
		username: guest 
		password: guest 
		virtual-host: / 
		publisher-confirms: true 

使用异步的return机制确认消息存放到queue中

消息从exchange --> 投递失败则会返回一个returnCallback

<rabbit:connection-factory id="connectionFactory" host="${rabbitmq.host}"
									 port="${rabbitmq.port}" 
									 username="${rabbitmq.username}" 
									 password="${rabbitmq.password}"
									  virtual-host="${rabbitmq.virtual-host}" 
									  publisher-confirms="true"
 />

**yml**
spring: 
	rabbitmq: 
		host: 172.16.98.133 #主机ip 
		port: 5672 #端口 
		username: guest 
		password: guest 
		virtual-host: / 
		publisher-confirms: true 
		publisher-returns: true

2、保障消息存储成功
要设置队列、交换机、消息的持久化
搭建broker的集群,备份存储队列、交换机、消息的信息
监听死信消息(死信:队列满,过期,拒收

3、保证消费者接收消息成功
使用手动确认消息的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值