云原生时代分布式事务与持续集成部署实践
1. 分布式事务框架设计目标
随着软件系统从单体应用向微服务和云原生架构转变,数据库也趋于分散化,本地事务逐渐演变为分布式事务,这对数据一致性提出了挑战。为解决此问题,需要设计一个分布式事务框架,其目标如下:
1. 原子性操作 :业务可定义一组数据操作(分布式事务),这些操作要么同时成功,要么同时失败。若事务中任何操作失败,之前的所有操作都需回滚。
2. 系统高可用性 :部分服务节点故障时,系统整体仍可运行。支持服务快速伸缩,实现高吞吐量和低数据延迟一致性,框架资源消耗低、延迟小。
3. 数据最终一致性 :相同数据的并发操作按相同顺序到达各服务和数据库,避免写顺序不一致问题。
4. 服务独立演进与部署 :对服务实现方式无要求,仅需支持 RPC 和特定协议通信。
5. 支持异构数据存储 :各服务可使用不同数据存储技术,如关系数据库、NoSQL、搜索引擎等。
6. 低侵入性架构 :尽量不改动现有系统代码和部署,通过添加新代码和服务部署实现分布式事务。框架与业务分工明确,代码测试覆盖率和可测试性高,便于故障定位和恢复。
7. 支持同步与异步流程 :提供机制连接 UI/API 与后端入口服务的同步交互,以及后端服务间的异步流程。
8. 支持事务步骤依赖 :事务中某步骤的数据操作是否执行及如何执行,取决于前序步骤
超级会员免费看
订阅专栏 解锁全文
917

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



