阿里云国际站经销商,主营阿里云,腾讯云,华为云,亚马逊aws,谷歌云gcp,微软云az,免费开户,代充值优惠大,联系客服飞机@jkkddd
前提条件
您已创建以下队列,具体操作,请参见创建队列。
事务消息队列
消息存活时间小于消息延时时间。
当消息发送成功、事务操作成功时,生产者修改消息延迟时间,消息对消费者可见。
当消息发送成功、事务操作失败时,生产者不修改消息延迟时间,消息对消费者不可见。
操作日志队列
记录事务消息的操作记录信息。消息延时时间为事务消息操作超时时间。日志队列中的消息确认后将对消费者不可见。
原理介绍
一些业务场景需要保证本地操作和消息发送的事务一致性,即消息发送成功,本地操作成功。如果消息发送成功,本地操作失败,那么发送成功的消息需要回滚。
消息发送成功,事务操作成功时操作步骤如下所示:
生产者发送一条事务准备消息到事务消息队列。
生产者发送操作日志消息到操作日志队列,日志中包含步骤1消息的消息句柄。
生产者执行本地事务操作成功。
生产者请求修改消息延迟时间,使消息对消费者可见。
生产者向操作日志队列确认操作日志,删除日志消息。
消费者从事务消息队列中接收事务消息。
消费者处理事务消息。
消费者请求删除事务消息。
消息发送成功,事务操作失败时操作步骤如下所示:
生产者发送一条事务准备消息到事务消息队列。
生产者发送操作日志信息到操作日志队列,日志中包含步骤1消息的消息句柄。
生产者执行本地事务操作失败。
操作日志队列向生产者发送消息,请求读取超时未确认操作日志。
生产者检查事务结果,发现操作失败。
生产者提交回滚消息请求,不修改消息延迟时间,消息对消费者不可见。
生产者向操作日志队列确认操作日志,删除日志消息。
示例代码
消息服务MNS最新的Java SDK(1.1.8)中的TransactionQueue支持上述事务消息方案。在TransactionOperations和TransactionChecker两个接口添加业务操作和检查逻辑,您就可以方便地实现事务消息
异常分析
生产者异常(例如进程重启)
读取操作日志队列中超时未确认日志。
检查事务结果。
如果检查到事务执行成功,则提交消息。
确认操作日志。
消费者异常(例如进程重启)
消息服务MNS提供至少保证消费一次的特性,如果当前消费者没有成功消费并删除消息,消息在不可见时间后将继续可见,被当前消费者或者其他消费者处理。
消息服务MNS服务不可达(例如断网)
消息发送和接收处理状态及操作日志都在消息服务MNS服务端,消息服务MNS本身具备高可靠和高可用的特点,所以只要网络恢复正常,事务就可以继续进行。只要生产者操作成功,消费者就能收到消息并成功处理;如果生产者操作失败,则消费者无法收到消息。
温馨提示:尊敬的[]站点管理员,将本页链接加入您的网站友情链接,下次可以快速来到这里更新您的站点信息哦!每天更新您的[阿里云国际代理商,阿里云账号24h自助充值]站点信息,可以排到首页最前端的位置,让更多人看到您站点的信息哦。
麻烦您将下面的代码插入您网页中,让更多的网友帮您更新网站每日SEO综合情况
-
“眼控科技AI对流临近天气预报系统,助力航空气象服务保障升级” -
iliiili.com “尊敬的各位旅客,非常抱歉,您乘坐的航班因为天气原因而推迟起飞,预定起飞时间是两个小时后……”我想大家在乘坐航班时也遭遇过同样的航班延误。 据统计,全世界
-
一级建造师各科目的特点以及备考时间分配建议-题王网tiw.cn -
一级建造师 各科目的特点以及备考时间分配建议你都清楚了吗?跟着题王网(www.tiw.cn)来一起来看看吧~ 一级建造师 各科目的特点 1、建设工程经济科目特点:内容不多,但覆盖广,数
-
“摩托罗拉官方正式宣布将于9月10日举办新品发布会” -
营业性演出许可证 【科技在线】 最近,摩托罗拉正式宣布将于9月10日举办新产品发布会,届时,该公司品牌正式发布了使用折叠屏设计的新razr手机。 在这台新机器发布之前,微软电源
-
“小米5缺货真相:产能不足还是 “饥饿营销”?” -
题王争霸 【科技在线】 前天,一年一度的米粉节落下帷幕,随之而来的是铺天盖地的米粉节销售额破了多少的信息通稿。 小米政府正在推动销量和销量有多厉害,但越来越多的网民对
-
应用化学可以考执业药师吗?-题乐宝tilebao.com -
欢迎大家来到 题乐宝 的考试资讯分享环节,今天题乐宝(www.tilebao.com)给大家带来的是关于应用化学是否可以报考执业药师的内容,一起来通过 题乐宝 了解一下吧! 题乐宝 告诉大家
-
讲师研修班顺利毕业 -
国际阿里云实名账号购买 讲师研修班顺利毕业有的,因为每个人的情况都是不同的,报名参加工作的也不同,具体的性质是怎样的,下面就给大家列举一些研修班的相关知识。 研修班全称叫