1、分布式事务处理(DTP)模型
应用程序(AP)
事务管理器(TM):交易中间件
资源管理器(RM):通常是数据库
通信资源管理器(CRM):消息中间件
2、事务处理
本地事务:一个数据库内部的事务处理,如对多个表的操作
全局事务:DTP环境中的多个数据库的事务处理
3、交易中间件(TM)
通常多个数据库之间无法知道彼此在做什么,只将自己所做的操作影射到全局事务中,由TM通知和协调相关数据库的提交或回滚。
4、XA
交易中间件(TM)与数据库之间的接口规范,TM用它来通知数据库事务的开始、结束以及提交、回滚等。XA 接口函数由数据库厂商提供。
5、两阶段提交协议(XA规范的基础)
1)第一阶段
TM请求所有相关数据库准备提交(预提交)各自的事务分支;
数据库收到预提交请求后:
如果可以提交事务分支,则将事务分支中所做的操作固定记录(无法在该事务分支中加入任何操作),对访问的资源上锁,并给TM一个同意提交的应答;
如果无法提交事务分支,回滚事务分支中所做的操作,释放上锁的资源,并返回给TM一个失败应答。
2)第二阶段
TM审查所有数据库返回的预提交结果:
如所有数据库都可以提交,TM将要求所有数据库做正式提交,这样该全局事务被提交。
如果任一数据库预提交返回失败,TM将要求所有其它数据库回滚操作,这样该全局事务被回滚。
6、全局事务处理过程
1)AP通知TM开始一个全局事务;
2)TM通过XA接口函数通知数据库开始事务;
3)AP对数据库管理的资源进行操作,数据库系统记录事务对本地资源的所有操作;
4)TM负责记录AP操作过哪些数据库(事务分支);
5)AP操作完成后TM通过XA接口函数通知数据库操作完成。
6)AP通知TM提交该全局事务;
7)TM通过XA接口函数要求各个数据库做预提交
8)所有数据库返回成功后,TM要求各个数据库做正式提交。
7、XA的优点和注意点
优点:事务的完整性由TM和数据库通过XA接口控制,AP只需要关注与数据库的应用逻辑处理;只需通知TM提交或回滚事务,就可以控制整个全局事务。
注意点:两阶段提交,对数据库来说事务从开始到结束(提交或回滚)的时间相对较长,在事务处理期间数据库使用的资源,直到事务结束时才会释放。
相关推荐
GitOps实战:ArgoCD+Tekton打造云原生CI/CD流水线
本文基于多年大厂GitOps落地经验,系统讲解如何使用ArgoCD和Tekton构建完整的云原生CI/CD流水线。详细解析GitOps核心理念、ArgoCD应用部署策略、Tekton流水线设计、多环境管理、安全权限控制等关键主题。每个技术点都配有可运行的生产级YAML配置示例和最佳实践指南,帮助读者实现声明式、可追溯、自动化的应用交付体系。无论是初学者还是有一定经验的DevOps工程师,都能获得实用的技术指导和落地方案。
云原生最佳实践
容器化是云原生的基石,而镜像管理则是确保应用一致性和安全性的关键。云原生强调自动化,从CI/CD流水线到基础设施编排(如Kubernetes),都应尽量减少人工干预。随着数字化转型的加速,云原生技术已成为企业构建和运行应用的核心方式。云原生不仅提升了开发效率,还通过容器化、微服务和自动化等特性,显著增强了系统的弹性和可扩展性。采用服务网格(如Istio)实现流量管理、熔断和监控,确保服务间通信的可靠性。只有持续优化流程,才能充分发挥云原生的价值,推动业务高效增长。**容器化与镜像管理**
保姆级教程:用GATK4分析重测序数据,从fq.gz到vcf文件一步不落
本文提供了一份详细的GATK4重测序数据分析教程,涵盖从原始fq.gz文件到最终vcf文件的完整上游分析流程。通过Miniconda环境配置、数据质控、序列比对、变异检测等步骤的逐步指导,帮助生物信息学研究人员掌握标准流程,特别适合Linux命令行基础薄弱的研究者学习实践。
云原生应用开发最佳实践
云原生应用开发不仅能够充分利用云计算的优势,还能通过容器化、微服务、DevOps等关键技术实现快速迭代与高效运维。自动化测试(包括单元测试、集成测试和混沌测试)是确保交付质量的关键环节,同时需建立完善的监控与告警机制,快速响应异常。微服务是云原生的核心架构模式,通过将应用拆分为多个松耦合的服务,实现独立开发、部署和扩展。通过微服务、容器化、自动化等核心实践,团队能够构建高弹性、易维护的现代应用。未来,随着Serverless和边缘计算等技术的成熟,云原生将继续推动应用开发的创新与变革。
基于GitOps的持续交付实践:在云原生环境中的应用与挑战
GitOps在云原生环境中的实践已验证其价值:✅ 部署速度提升40%+(通过自动化同步)✅ 人为错误减少75%(通过Git审计流程)✅ 回滚时间缩短至秒级(基于版本控制)AI驱动的变更预测:基于历史部署数据优化同步策略多云GitOps统一管理:跨AWS/Azure/GCP的统一配置中心安全增强:集成SAST工具在Git提交阶段扫描漏洞。
专注云原生落地,星汉未来成为开源 GitOps 产业联盟会员
星汉未来作为会员单位,今后将与开源GitOps产业联盟(OGA联盟)一起,以GitOps和云原生技术应用实践为核心,遵守“开源、开放、可信、自主、创新、共赢”的理念,致力于推动开源、开放GitOps和云原生技术的产业化发展。在标准制定、行业实践、创新研发、人才培养等方面积极发挥贡献,积极构建合作共赢的良好生态,充分释放云原生时代云计算平台充足潜力。
基于 GitOps 的云原生架构落地:ArgoCD+FluxCD 双工具对比与选型
GitOps 以 Git 仓库为唯一事实源,通过声明式配置实现基础设施和应用的自动化部署。核心流程: $$ \text{Git 仓库} \xrightarrow{\text{变更}} \text{控制器} \xrightarrow{\text{同步}} \text{Kubernetes 集群} $$$$ \text{传统 CI/CD} \to \text{单一工具 PoC} \to \text{生产环境全量覆盖} $$说明:FluxCD 处理基础设施自动化,ArgoCD 管理业务应用层。
【探索实战】Kurator分布式云原生平台全栈实践指南:从入门到企业级落地
摘要:Kurator是华为云开源的分布式云原生平台,整合Kubernetes、Karmada、Istio等主流技术栈,提供统一控制平面。通过声明式API管理多云、边缘和本地环境的基础设施,支持一键安装和集群生命周期管理。核心功能包括统一应用分发(GitOps驱动)、跨集群流量治理(基于Istio)、统一监控(Prometheus+Thanos)和策略管理(Kyverno)。实践案例显示,企业采用Kurator后,应用部署效率提升24倍,资源利用率从35%提升至65%,显著降低运维成本。Kurator简化了多
【探索实战】Kurator分布式云原生平台深度实践:从架构解析到生产落地
本文以Kurator云原生专家视角,深入解析Kurator分布式云原生平台的核心架构与实战应用。Kurator是华为云开源的一站式分布式云原生解决方案,通过整合Karmada、KubeEdge、Volcano、Istio等CNCF主流开源项目,构建了统一的多集群管理、应用分发、流量治理和监控能力。
【Harness:落地实战】24、Harness CI/CD+GitOps深度实战:智能交付与渐进发布——企业级云原生DevOps全解析
本文深入解析Harness智能CI/CD平台在企业级云原生DevOps中的应用,涵盖从传统Jenkins到智能交付平台的演进过程。文章详细介绍了Harness的核心架构,包括轻量级Delegate代理机制、Pipeline as Code的YAML实现、多种部署策略(滚动/蓝绿/金丝雀)以及GitOps与ArgoCD的集成方案。特别强调了Feature Flags在渐进式发布中的关键作用,并提供了多集群微服务治理与新功能渐进发布的完整实战案例,配有丰富的架构图和代码示例,为企业构建安全可控的全链路自动化交付
云原生CI/CD流水线设计与GitOps实践
策略可以通过代码扫描、镜像签名、部署审批和集群准入控制落地,但规则必须透明,不能只靠人工口头提醒。云原生 CI/CD 的成熟标志不是工具多,而是变更小、验证快、发布可审计、失败能快速回到已知稳定状态。它要保证从提交、构建、测试、扫描、制品、部署到回滚都有记录。每个线上版本都应该能回答:来自哪个 commit,经过哪些检查,使用哪个镜像,谁批准,部署到哪个环境。高风险环境仍然需要审批、灰度和指标观察。可以跟踪部署频率、变更前置时间、失败率和恢复时间,用数据判断流水线是否真的改善交付,而不是只增加步骤。
Kubernetes 与 GitOps 的深度融合实践指南
前言:在云原生技术飞速发展的今天,Kubernetes(简称 K8s)已成为容器编排领域的事实标准,而 GitOps 作为一种基于 Git 的云原生运维理念,正与 K8s 深度融合,为企业实现自动化、可追溯、可审计的应用部署与运维提供了全新路径。本文将从基础概念出发,全面剖析云原生技术、K8s 与 GitOps 的关系,结合完整的实操步骤与范例,带大家掌握 GitOps 在 K8s 环境中的落地方法。
【前瞻创想】Kurator·云原生实战派:分布式云原生平台的深度剖析与企业级落地实践指南
在数字化转型浪潮中,分布式云原生架构已成为企业IT基础设施的必然选择。Kurator作为一款新兴的开源分布式云原生平台,通过整合Kubernetes、Istio、Prometheus、FluxCD、KubeEdge、Volcano、Karmada、Kyverno等顶尖云原生技术栈,为企业提供了从中心云到边缘端的完整解决方案。
告别“部署惊魂“:GitOps与ArgoCD让云原生CI/CD自动化落地
GitHub推荐项目精选中的awesome-design-patterns是一个精心策划的软件和架构相关设计模式列表,涵盖了从编程语言设计模式到云架构、微服务等多个领域。其中,GitOps作为一种现代的DevOps实践,正逐渐成为云原生环境下CI/CD自动化的首选方案,而ArgoCD则是实现GitOps理念的强大工具。 ## 什么是GitOps?为何它能解决部署难题? GitOps是一种将Gi
如何落地云原生DevOps?
简介: 什么是云原生DevOps?在阿里内部有怎样的实践?企业又该如何落地?阿里云云效专家团队提出了下一代精益产品开发方法体系——ALPD,提供了系统的云原生DevOps落地的方法支撑,帮助企业渐进式地迈入云原生DevOps。本文结合实际案例,分享通过阿里云云效落地云原生DevOps的五个阶段。 一 什么是云原生DevOps 我们先通过一个简单的例子来了解什么是云原生DevOps,它和DevOps有什么不同。 上图是一个大排档,图中的大厨在非常努力的去切、炒、制作各种美食,并将它卖出去。从.
GitOps 与 ChatOps 的落地实践
前言 说到 GitOps 和 ChatOps ,那就不得不谈到 DevOps 。 DevOps 作为一种文化,旨在促进开发、测试和运维人员之间的沟通与协作。而促进合作的方式,往往是使用一系列工具,完成这三个角色的相互协作。这带来的好处也是显而易见的:更快的交付速度和更低的人力成本。获益于 De...
【14-Higress云原生API网关】
为什么选Higress?(相较于NginxIngress)也就是Higress 网关可以同时做K8s Ingress 网关、微服务网关、AI网关、安全网关一套技术栈覆盖多种场景。
大模型时代必备技能:3种向量量化技术对比(PQ/AQ/RVQ)与选型指南
本文深入解析了大模型时代处理海量向量数据的关键技术——向量量化。通过对比Product Quantization (PQ)、Additive Quantization (AQ)和Residual Vector Quantization (RVQ)三种主流技术的核心原理、性能表现与适用场景,为工程师提供了从理论到实践的选型指南,旨在解决向量存储与检索的效率瓶颈,助力RAG等大模型应用高效落地。
西门子S7-200smart-V2.5固件.rar
西门子S7-200smart-V2.5固件
1058




被折叠的 条评论
为什么被折叠?



