宜昌外贸网站建设优化推广益阳市城乡和住房建设部网站

张小明 2026/3/12 19:32:54
宜昌外贸网站建设优化推广,益阳市城乡和住房建设部网站,电商设计英语,泰州网页设计需要多少钱当 A、B、C、D 四个微服务都涉及更新或插入#xff08;写操作#xff09;时#xff0c;由于每个服务有自己的独立数据库#xff0c;传统的单机事务无法覆盖多个数据库#xff0c;因此必须采用分布式事务方案来保证数据一致性。 下面我按常见的分布式事务模式来分析#x…当 A、B、C、D 四个微服务都涉及更新或插入写操作时由于每个服务有自己的独立数据库传统的单机事务无法覆盖多个数据库因此必须采用分布式事务方案来保证数据一致性。下面我按常见的分布式事务模式来分析并给出适用场景与示例。1. 问题分析场景一次业务请求需要依次或并行调用 A、B、C、D 四个服务每个服务在自己的数据库中做增删改操作。目标保证这四个操作要么全部成功要么全部失败原子性并且在发生故障时能正确恢复或补偿。挑战网络不可靠、服务可能宕机、部分成功部分失败会导致数据不一致。2. 分布式事务解决方案2.1 两阶段提交2PC, Two-Phase Commit原理 准备阶段事务协调者询问所有参与者A、B、C、D是否可以提交参与者锁定资源并返回“就绪”。提交阶段如果所有参与者都就绪协调者发送提交命令否则发送回滚命令。优点强一致性。缺点 同步阻塞性能差。协调者单点故障风险。在微服务多数据库场景下实现复杂现代应用较少使用尤其互联网高并发场景。适用传统企业级应用对一致性要求极高并发量不大。2.2 三阶段提交3PC在 2PC 基础上引入超时机制和预提交阶段减少阻塞范围但依然有协调者单点问题和复杂度实际很少用。2.3 Saga 模式原理将一个长事务拆分为多个本地短事务每个本地事务完成后发布事件触发下一个本地事务如果某个本地事务失败则按相反顺序执行补偿事务Compensating Transaction来撤销之前的操作。两种实现方式编排式Orchestration由一个中心协调器Saga Orchestrator按顺序调用各服务的本地事务/补偿操作。协同式Choreography每个服务监听事件自己决定下一步动作无中心协调器。优点避免全局锁性能好适合微服务。最终一致性。缺点不保证隔离性可能出现脏写。补偿逻辑复杂有时难以实现例如物理删除难以补偿。适用高并发互联网微服务可接受最终一致性。示例编排式 Saga业务创建订单 → 扣库存 → 扣余额 → 记录物流步骤 1订单服务创建订单本地事务步骤 2库存服务扣库存本地事务步骤 3账户服务扣余额本地事务步骤 4物流服务生成运单本地事务若步骤 3 失败则依次执行补偿步骤 2库存服务恢复库存补偿步骤 1订单服务取消订单2.4 TCC 模式Try-Confirm-Cancel原理将每个服务的方法分为三个阶段Try预留业务资源如冻结库存、预扣金额。Confirm确认执行业务操作使用 Try 阶段预留的资源。Cancel取消操作释放 Try 阶段预留的资源。优点比 Saga 更可控可实现类似强一致的效果通过预留资源。避免长期资源锁定。缺点每个业务都要实现 Try/Confirm/Cancel 接口开发复杂。对业务侵入性强。适用核心金融业务支付、交易对一致性要求高且资源可预留。示例订单服务Try检查并锁定订单状态为“处理中”Confirm更新为“已确认”Cancel更新为“已取消”库存服务Try冻结相应库存Confirm扣减冻结库存Cancel解冻库存2.5 本地消息表可靠事件模式原理业务执行时将事件写入本地数据库的消息表与业务操作在同一事务中。后台任务轮询消息表将未发送的事件发送到消息队列。消费者服务收到消息后执行本地事务并确认消息。如果消费失败重试或进入死信队列人工处理。优点实现相对简单避免分布式事务框架。缺点有数据不一致窗口依赖消息队列可靠性。适用异步场景允许短暂不一致。2.6 最大努力通知类似本地消息表但不保证一定成功通过多次重试尽可能达到最终一致常用于外部系统交互如支付回调。3. 方案选型建议方案一致性强度性能复杂度适用场景2PC强一致差中传统企业应用低并发Saga最终一致好中微服务主流高并发TCC接近强一致中高金融核心业务本地消息表最终一致好中低异步、解耦场景4. 实践建议业务分析先判断能否将操作合并到更少的服务减少跨服务事务。降低一致性要求很多业务可接受最终一致性用 Saga 或消息表即可。幂等设计所有参与服务必须实现幂等防止重复执行。补偿/回滚设计提前考虑如何撤销操作逻辑删除、状态回滚、反向操作。监控与重试完善的日志、监控、告警与重试机制。测试模拟各种失败场景网络超时、服务宕机验证一致性保障。总结当 A、B、C、D 都是写操作时推荐使用 ​Saga​ 或 ​TCC​ 模式来保证数据一致性具体选择取决于业务对一致性的要求、性能要求和开发维护成本。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

社交信息共享网站开发外包网站建设怎么提需求

1. 应用层概述与理论基础 1.1 应用层在网络体系结构中的地位 应用层是计算机网络体系结构中的最高层,在 OSI 七层模型和 TCP/IP 协议栈中都占据着直接面向用户和应用程序的关键位置。作为整个网络体系中 "交付实际价值" 的核心层,应用层是计…

张小明 2026/3/5 6:38:33 网站建设

招商加盟网站系统自建vps和买机场哪个好

在当今实时渲染和视觉计算领域,跨应用数据交换的效率瓶颈已成为制约创意表达的关键因素。传统方案在CPU与GPU之间的数据搬运过程中产生显著性能损耗,而基于GPU内存直接共享的解决方案正在重新定义行业标准。 【免费下载链接】KlakSpout Spout plugin for…

张小明 2026/3/12 13:26:41 网站建设

调整网站模板大小提供手机网站建设哪家好

3大实用技巧:用BlenderUSDZ插件轻松搞定AR模型转换 【免费下载链接】BlenderUSDZ Simple USDZ file exporter plugin for Blender3D 项目地址: https://gitcode.com/gh_mirrors/bl/BlenderUSDZ 嘿,Blender玩家们!今天我们来聊聊一个超…

张小明 2026/3/5 6:38:35 网站建设

广东省建设工程协会网站网站建设教程下载

软件与硬件RAID配置全解析 1. 软件RAID配置文件 /etc/mdadm.conf 在配置软件RAID时, /etc/mdadm.conf 文件起着关键作用,它包含了多个重要的配置行,以下为您详细介绍。 1.1 DEVICE 行 DEVICE 行用于指定潜在的阵列组件设备,其格式如下: DEVICE device1 device2 .…

张小明 2026/3/12 20:30:46 网站建设

网站开发是什么语言公司网站建设业务文案

Linux系统更新、备份与网络安全全解析 1. 软件更新工具 在Linux系统中,有多种工具可用于软件更新。其中, rpmfind 是一种更新软件的方式。它会对已安装的软件包进行盘点,连接到 rpmfind.net (一个RPM文件仓库),然后更新软件包。要使用它,只需执行以下命令: rpm…

张小明 2026/3/5 6:38:38 网站建设

上海网站建设开发公做网站需要软件

摘要:随着旅游业和商务活动的蓬勃发展,客房预订需求日益增长。本文介绍基于VUE的客房订房系统,阐述其开发背景与意义。系统采用VUE等技术,具备系统用户管理、酒店类型管理、酒店信息管理、预定管理等功能。通过需求分析明确系统功…

张小明 2026/3/5 6:38:38 网站建设