当前位置: 首页 > news >正文

襄阳蒂凯网络网站建设小程序整站优化方案

襄阳蒂凯网络网站建设小程序,整站优化方案,如何简单制作奶粉,拼多多标题关键词优化方法分布式事务四_基于可靠消息的最终一致性 更多干货 分布式事务处理一分布式事务二分布式事务处理三分布式事务四_基于可靠消息的最终一致性分布式事务五_基于可靠消息的最终一致性_异常流程分布式事务六_常规MQ队列分布式事务七_幂等性设计分布式事务八_可靠消息最终一致性方案分…

分布式事务四_基于可靠消息的最终一致性

更多干货

  • 分布式事务处理一
  • 分布式事务二
  • 分布式事务处理三
  • 分布式事务四_基于可靠消息的最终一致性
  • 分布式事务五_基于可靠消息的最终一致性_异常流程
  • 分布式事务六_常规MQ队列
  • 分布式事务七_幂等性设计
  • 分布式事务八_可靠消息最终一致性方案
  • 分布式事务九_基于可靠消息的最终一致性代码
  • 分布式事务10_最大努力通知形势
  • 柔性事务解决方案:TCC(两阶段型、补偿型)
  • 支付宝 分布式事务服务 DTS 一
  • 分布式事务服务 DTS二
  • 分布式事务服务 DTS三
  • 支付宝 分布式事务服务 DTS四


消息发送一致性(可靠消息的前提保障)

一、消息中间件的应用场景

image

  • 消息中间件在分布式系统中的主要作用:异步通讯、解耦、并发缓冲
  • 如图:通过引入消息中间件来解耦应用间(服务间)的直接调用,同时也会起到异步通讯和缓冲并发的作用

二、消息发送和投递的不可靠性

image


分布式部署环境下,需要通过网络进行通讯,就引入了数据传输的不确定性也就是CAP理论中的P(分区容错性的问题)

三、消息发送一致性

消息发送一致性:是指产生消息的业务动作与消息发送的一致。

(也就是说,如果业务操作成功,那么由这个业务操作所产生的消息一定要成功投递出去,否则就丢消息) image

四、消息发送一致性如何保障?

1. 处理方式1

/** 支付订单处理 **/
public void completeOrder() {
// 订单处理(业务操作)
orderBiz.process();
// 发送会记原始凭证消息(发送消息)
sendAccountingVoucherMsg ();
}
  1. 如果业务操作成功,执行消息发送前应用故障,消息发不出去,导致消息丢失(订单系统与会计系统的数据不一致)
  2. 如果业务操作成功,应用正常,但消息系统故障或网络故障,也会导致消息发不出去(订单系统与会计系统的数据不一致)

2. 处理方式2

/** 支付订单处理 **/
public void completeOrder() {
// 发送会记原始凭证消息(发送消息)
sendAccountingVoucherMsg ();
// 订单处理(业务操作)
orderBiz.process();
}
  1. 这种情况下,更不可控,消息发出去了,但业务可能会失败(订单系统与会计系统的数据不一致)

前面两种方式,都不能保证业务数据的一致性

五、JMS标准中的XA协议方式是否可以保障发送一致性?

JMS协议标准的API中,有很多以XA开头的接口,其实就是前面课程讲到的支持XA协议(基于两阶段提交协议)的 全局事务型接口。JMS中的XA系列接口,可以提供分布式事务支持。 但引用了XA方式的分布式事务,又会带来很多的局限:

  • 要求业务操作的资源必须支持XA协议(并不是所有资源都支持XA)
  • 两阶段提交协议的成本
  • 持久化成本等DTP模型的局限性(全局锁定,成本高,性能低)

引入XA,违背了柔性事务的初衷


六、消息发送一致性:变通的做法

image

  1. 主动方应用先把消息发给消息中间件,消息状态标记为“待确认”;
  2. 消息中间件收到消息后,把消息持久化到消息存储中,但并不向被动方应用投递消息;
  3. 消息中间件返回消息持久化结果(成功/失败),主动方应用根据返回结果进行判断如何进行业务操作处理:
  • 失败:放弃业务操作处理,结束(必要时向上层返回失败结果);
  • 成功:执行业务操作处理;
  1. 业务操作完成后,把业务操作结果(成功/失败)发送给消息中间件;
  2. 消息中间件收到业务操作结果后,根据业务结果进行处理;
  • 失败:删除消息存储中的消息,结束;
  • 成功:更新消息存储中的消息状态为“待发送(可发送)”,紧接着执行消息投递;
  1. 前面的正向流程都成功后,向被动方应用投递消息;

七、待解决问题

消息发送一致性方案的正向流程是可行的,但异常流程怎么处理呢? 消息发送到消息中间件中能得到保障了,但消息的准确消费(投递)又如何保障呢? 有没有支持这种发送一致性流程的现成消息中间件?

八、待续

分布式事务五

http://www.lbrq.cn/news/2474821.html

相关文章:

  • 余姚网站设计平台免费的外贸b2b网站
  • 长春免费建站专业做网站官网
  • 临沂网站制作公司6seo外链优化
  • 营销型网站建设电子书seo外链工具
  • 重庆企业网站建设公司2021最火关键词
  • 电脑做网站主机空间网站搜索排名优化怎么做
  • 公司网站地址百度seo优化分析
  • 网站做宣传互联网营销工具有哪些
  • 网站建设栏目设计网站seo在线诊断分析
  • 深圳燃气招聘网最新招聘网站关键词搜索排名优化
  • 有用cc域名做网站的torrent种子猫
  • 网站怎么做pc端盒子花都网站建设公司
  • 网站的空间和域名备案关键词查询爱站网
  • 制作网页网站教程网站建设有哪些公司
  • 网站目录做二级域名深圳关键词排名seo
  • 网站建设案例模板网络免费推广平台
  • 北京品牌建设网站公司上海seo招聘
  • 网站建设意识形态今日头条军事新闻
  • 最简单的做网站的工具茂名网站建设制作
  • 别人做的网站会植入病毒吗百度快照优化排名
  • magento外贸建站深圳网站建设开发公司
  • 免费企业网站空间最新国际新闻热点事件
  • 本科毕业 做网站编辑百度推广投诉电话客服24小时
  • 做游戏类型的网站的好处湛江seo网站管理
  • 做政协网站的目的是什么市场调研报告包括哪些内容
  • 建材 网站 案例三门峡网站seo
  • 哪个网站的域名到期直接注册惠州seo快速排名
  • 企业服务平台公众号广州seo公司
  • 上海网上做鸭子的网站简述网络营销的含义
  • javaee做网站建设seo中介平台
  • 学习嵌入式的第三十二天-数据结构-(2025.7.24)IO多路复用
  • Spring Cloud Gateway:微服务架构下的 API 网关详解
  • Maven之依赖管理
  • 筑牢网站运营根基:售后工作的核心维度与实践方法
  • 4麦 360度定位
  • Unity 多人游戏框架学习系列九