栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

第11节:RabbitMQ 事务消息-发送者

第11节:RabbitMQ 事务消息-发送者

   事务消息与数据库的事务类似,只是MQ中的消息是要保证消息是否会全部发送成功,防止丢失消息的一种策略。

 

RabbitMQ有两种方式来解决这个问题:

1.通过AMQP提供的事务机制实现;

2.使用发送者确认模式实现;

 

两者应用场景:

   1.事务功能场景:当需要发送多条消息时,第1条消息发送成功,后面的消息因为逻辑异常等原因发送失败,需要回滚,那么就需要使用到RabbitMQ的事务。

   2.事务业务场景:要么全部成功、要么全部失败的场景

   3.发送者确认模式业务场景:需要发送10条消息,前面9条成功,也许服务器down机后面1条失败,这时候需要补发,那么就建议使用 发送者确认模式。

 

 

事务的实现主要是对信道(Channel)的设置,接口的主要的方法有三个:

1.channel.txSelect()声明启动事务模式;

2.channel.txCommint()提交事务;

3.channel.txRollback()回滚事务;

 

   如果我们条用 txSelect()方法启动事务,那么我们必须调用事务的提交,否则消息不会真正的写入队列,提交时会讲内存中的消息写入队列并释放内存

 

 

真实案例使用:

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582839.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号