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

网站如何定位莱芜雪野湖好玩吗

网站如何定位,莱芜雪野湖好玩吗,衡阳网站优化公司,企业备案增加网站本文参考#xff1a; 数据库事务系列04-本地消息表实现分布式事务 基础概念 本地消息表实现分布式事务最终一致性的核心#xff1a;是通过上游本地事务的原子性持久性#xff0c;配合中间件的重试机制#xff0c;从而实现调用下游的最终一致性。 这里有几个要点可以解析一… 本文参考 数据库事务系列04-本地消息表实现分布式事务 基础概念 本地消息表实现分布式事务最终一致性的核心是通过上游本地事务的原子性持久性配合中间件的重试机制从而实现调用下游的最终一致性。 这里有几个要点可以解析一下 上游本地事务的原子性 通常上游会专门维护一张本地消息表存放调用下游的消息作为调用下游的依据。并且写消息表的动作和上游的业务逻辑都放在同一个本地事务中位于同一个数据库中借助本地事务的 ACID 特性实现写业务逻辑 写下游消息的一致。 中间件的重试机制 会有中间件异步地去读取上面写的消息表通常是定时任务去异步地扫表读取出其中没有被确认调用过下游的消息再次对下游发起调用。这里对下游发起调用也有多种方式 在定时任务中按照消息表中记录的结构体直接调用下游 RPC当有多个下游要接入的时候上游需要配合改代码代码耦合度较高但是逻辑简单不需要接入其他中间件时效性最快。定时任务将消息投递至消息中间件 MQ由下游消费 MQ当有多个下游要接入的时候上游不需要感知实现了逻辑解耦但是架构较复杂需要上下游同时接入中间件 MQ并且时效性也没有很快因为定时任务 - MQ - 调用下游 会有额外的网络开销。 调用下游的一致性 由于可能存在中间件的重试调用所以下游需要自己保证调用接口的幂等性否则会存在重复脏数据。 具体实现 来看看网上常见的两种本地消息表实现方案之前我对这些方案也容易产生混淆想着这种常见的分布式事务一致性手段为什么连方案都不能实现统一但是后来发现各种方案都是基于特定的场景衍生出来的都有其应用场景需要具体情况具体分析。先提前总结下核心区别在于修改消息表消息状态是由上游控制还是由下游控制的 本地消息表结构 NameTypeCommentIdLong唯一 idContentText消息表内容JSONBiz_TypeInteger消息类型StatusInteger消息状态0未确认1已确认Create_timeDatetime创建时间Modify_timeDatetime修改时间Ext_fieldText拓展字段 方案 1 核心流程如下所示 上游 Service 执行业务逻辑写入业务数据表上游 Service 插入本地消息表status 0 未确认定时任务扫描消息表中 status 0 的记录定时任务投递 status 0 的记录至 MQ下游 Service 接入并读取 MQ 消息下游 Service 幂等消费并执行自己的业务逻辑下游 Service 业务逻辑执行成功回调 上游 Service 的接口通知成功上游 Service 被回调以后更新本地消息表状态为 status 1 确认 其中 7, 8 需要上游业务提供回调接口由下游调用告知上游消息已经被正确地调用了通过这一次 RPC 调用保证了上下游服务的最终一致性 方案 2 整体业务架构和上面的方案一致但流程上有些不一样 上游 Service 执行业务逻辑写入业务数据表上游 Service 插入本地消息表status 0 未确认定时任务扫描消息表中 status 0 的记录定时任务投递 status 0 的记录至 MQ定时任务直接将 status 改为 1 已发送下游 Service 接入并读取 MQ 消息下游 Service 幂等消费并执行自己的业务逻辑 其中 45 是定时任务投递了 MQ 消息过后就直接将消息表中的状态 status 1上游的职责就是最大努力通知上游将 status 0 努力通知到下游通知到下游就与它无关了。后续依赖 MQ 的持久化机制并且完全信赖下游读取 MQ 消息并且能够成功消费的。 方案 1-2 这算是方案1在架构上的一种变式吧就是不依赖 MQ直接 RPC 调用下游实现起来相对简单耦合度会比较高业务上下游针对不同的业务逻辑都需要单独开发一次
http://www.dnsts.com.cn/news/243852.html

相关文章:

  • 北京网站建设曝光尚词网四川住建厅官方网站的网址
  • 企业网站开发基本流程长宁广州网站建设
  • 自建站seo如何做七牛云最新消息
  • 网站应用网站开发抖音seo排名
  • 做网站时已做好了ps怎么倒入托管平台
  • 西安市建设局网站宁波模板开发建站
  • 青岛新闻最新消息专业网站优化案例
  • 手机网站建设的企业中国有什么网站做跨境零售
  • 做电池网站的引导页如何做网站网页费用
  • 有什么学做木工的网站吗wordpress调用用户自定义头像
  • 厦门seo网站排名优化简述网站的建站流程
  • 南头企业网站建设公司佛山网页制作公司
  • 免费网站安全软件创新的成都网站建设
  • 泉州手机网站建设价格网站建设多少钱宋柯
  • 网站做301根目录在哪中煤地建设有限公司网站
  • 烟台网站建设设计开发WordPress开通用户投稿功能
  • 建站公司兴田德润在哪里网站页面排版
  • 俄文网站开发河北衡水网站建设
  • 长沙门户网站建设图书网站建设策划书
  • 网站开发 职位晋升路线黄石专业网站建设推广
  • 做国际物流需要哪些网站哈尔滨手机网站制作
  • 官方静态网站模板下载加盟代理网
  • 网站留言板怎么做phpsql郑州网站建设专业公司
  • 县直门户网站建设管理嵌入式软件开发和软件开发的区别
  • 自己架设网站备案wordpress全局密码
  • 八里庄网站建设wordpress页面无法编辑器
  • 临沂企业建站系统wordpress自助建站
  • 专业提供建站模板的公司wordpress wp-content 权限
  • 做网站需要工商证吗产品营销推广方式
  • 做网站的猫腻wordpress mediaelement.js