4 seata-golang 分布式事务框架微信号: scottlewis 分布式事务框架 Seata-Golang 刘晓敏 H3C ⽬ 录 Demo 演示 01 Seata 原理 02 Mysql driver 原理 03 Mysql driver 接⼊ 04 TODO & QA 05 分布式事务就是指事务的参与者、⽀持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系 统的不同节点之上。简单的说,就是 统的不同节点之上。简单的说,就是⼀次⼤的操作由不同的⼩操作组成,这些⼩的操作分布在不同的服务器 上,且属于不同的应⽤,分布式事务需要保证这些⼩操作要么全部成功,要么全部失败。本质上来说,分布 式事务就是为了保证不同数据库的数据⼀致性。 什么是分布式事务问题? Demo 演示 整体机制: • ⼀阶段:业务数据和回滚⽇志记录在同⼀个本地事务中提交,释放本地锁和连接资源。 • ⼆阶段: • 提交异步化,⾮常快速地完成。 • tc 交互,报 告分⽀事务的执⾏状态。如果执⾏ Commit,connCtx 有值则把 sqlUndoItemsBuffer 中的 undoLog 和业务 数据⼀起提交到数据库,然后报告 tc 事务分⽀提交的状态(成功还是失败),否则执⾏正常的提交。如果 执⾏ Rollback,connCtx 有值则回滚然后向 tc 报告分⽀执⾏失败,tc 会根据这个状态回滚整个全局事务, connCtx 没有值则只需正常回滚。0 码力 | 14 页 | 3.23 MB | 1 年前3
华为云分布式事务DTM最佳实践servicecomb.apache.org github.com/apache?q=servicecomb 华为云分布式事务DTM最佳实践. 王启军 2 github.com/apache?q=servicecomb servicecomb.apache.org 王启军,华为云PaaS团队架构师,负责微服 务框架的开发。曾任当当网架构师,主导电商平台 架构设计;曾就职于搜狐负责手机微博的研发。 q=servicecomb servicecomb.apache.org 方案\指标 2PC 传统事务 可靠事件 TCC 柔性事务 SAGA 补偿事务 数据一致性 强一致 最终一致 最终一致 最终一致 总体性能 低 高 取决于实现 取决于实现 业务侵入性 较低侵入 高侵入 高侵入 高侵入 适用广泛性 一般 一般 高 低 产品成熟度 高 高 一般 低 方案对比 6 github.com/apache?q=servicecomb q=servicecomb servicecomb.apache.org 分布式事务管理中间件 (Distributed Transaction Management,DTM) 7 github.com/apache?q=servicecomb servicecomb.apache.org DTM总体架构(TCC) Client DTM-Client (发起者) Service A DTM-Client0 码力 | 15 页 | 3.10 MB | 1 年前3
IPC性能极致优化方案-RPAL落地实践IPC性能极致优化方案-RPAL落地实践 谢正尧 字节跳动 研发工程师 目 录 方案诞生的背景 01 全进程地址空间共享与保护 02 用户态进程切换 03 高效的Go Event Poller 04 RPC框架Kitex集成 05 性能收益与业务展望 06 方案诞生的背景 第一部分 方案诞生的背景 几种常见的同机通信场景: 1. 微服务合并部署(亲和性部署、sidecar .. 方案诞生的背景 微服务化拆分: 1. 序列化 2. 网络开销 3. 服务治理 微服务合并部署 function call remote call 方案诞生的背景 微服务合并形态:sidecar 进程通信 方案诞生的背景 微服务合并形态:亲和性部署 方案诞生的背景 怎么放大本地通信的优势? 低延迟 提升用户体验 低开销 降低计算成本 常见的本地通信方案:回环 IP、UDS、共享内存IPC IP、UDS、共享内存IPC 方案诞生的背景 以性能较优的 IPC 方案 share memory ipc 为例分析性能瓶颈: 注:方案 github 地址:https://github.com/cloudwego/shmipc-go 方案诞生的背景 方案诞生的背景 IPC 的性能瓶颈有哪些: 1. 系统特权级切换; 2. 异步线程唤醒/休眠(事件通知); 3. 数据拷贝(序列化/反序列化);0 码力 | 39 页 | 2.98 MB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁《Saga分布式事务解决⽅方案与实践》 演讲者/姜宁 关于我 • 华为开源能⼒力力中⼼心 • ServiceComb项⽬目负责⼈人 • Apache Member , IPMC, 多个Apache项⽬目 • RedHat, IONA, Travelsky 议题 • 微服务事务⼀一致性问题? • 业界Saga的解决⽅方案 • ServiceComb Saga的演进 • BASE • 基本可⽤用(Basically Available) • 柔性状态 (Soft state) • 最终⼀一致性 (Eventually Consistent) (刚性事务) (柔性事务) https://queue.acm.org/detail.cfm?id=1394128 TCC • Try: 尝试执⾏行行业务 • 完成所有业务检查,预留留必须的业务资源 • • 微服务内:聚合通过数据库事务保证强⼀一致 • 内刚 • 微服务间:最终⼀一致 • 外柔 微服务事务⼀一致性建议 • 1987年年Hector & Kenneth 发表论⽂文 Sagas • Saga = Long Live Transaction (LLT) • LLT = T1 + T2 + T3 + ... + Tn • 每个本地事务Tx 有对应的补偿 Cx T10 码力 | 39 页 | 2.78 MB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁《Saga分布式事务解决⽅方案与实践》 演讲者/姜宁 关于我 • 华为开源能⼒力力中⼼心 • ServiceComb项⽬目负责⼈人 • Apache Member , IPMC, 多个Apache项⽬目 • RedHat, IONA, Travelsky 议题 • 微服务事务⼀一致性问题? • 业界Saga的解决⽅方案 • ServiceComb Saga的演进 • BASE • 基本可⽤用(Basically Available) • 柔性状态 (Soft state) • 最终⼀一致性 (Eventually Consistent) (刚性事务) (柔性事务) https://queue.acm.org/detail.cfm?id=1394128 TCC • Try: 尝试执⾏行行业务 • 完成所有业务检查,预留留必须的业务资源 • • 微服务内:聚合通过数据库事务保证强⼀一致 • 内刚 • 微服务间:最终⼀一致 • 外柔 微服务事务⼀一致性建议 • 1987年年Hector & Kenneth 发表论⽂文 Sagas • Saga = Long Live Transaction (LLT) • LLT = T1 + T2 + T3 + ... + Tn • 每个本地事务Tx 有对应的补偿 Cx T10 码力 | 33 页 | 2.38 MB | 1 年前3
微服务场景下的数据一致性解决方案 - 殷湘和平统一 微服务场景下的数据一致性解决方案 殷湘 华为PaaS微服务架构师 开源能力中心 大纲 •离 数据一致性的起因 •合 数据一致性的解决方案 •断 方案选择建议 离 数据一致性的起因 单体应用 • 单体应用由于所有模块(A/B/C)使用同一个数据库 • 数据一致性通过数据库事务保证 A B C commit rollback 微服务场景 MySQL MongoDB 离 独立进程 独立部署 独立技术 独立团队 合 数据一致性的解决方案 T1 T2 T3 C2 C1 • 1987年Hector & Kenneth 发表论文 Sagas • Saga = Long Live Transaction (LLT) • LLT = T1 + T2 + T3 + ... + Tn • 每个本地事务Tx 有对应的补偿 Cx • 已知使用saga的厂商:Microsoft/Twitter/Uber transact B C A Saga compensate compensate 和平统一 减少业务代码集成/运维难度 剥离业务与数据一致性复杂度 和平:低侵入 让运维监控更加简单 可视化事务、调用链 统一:集中式 无状态、可集群、可分片 Event Sourcing架构 高可用 系统架构 – 基于图形 requests { T1:[a,b], C1:[c,d], ...0 码力 | 31 页 | 4.28 MB | 1 年前3
百度超级链 XuperChain 3.7 中文文档平行链与群组 16.1. 背景 16.2. 术语 16.3. 架构 16.4. 设计思路 17. 超级链跨链技术 17.1. 背景 17.2. 什么是跨链 17.3. 主流跨链方案 17.4. 超级链跨链方案 进阶使用 1. 合约账号 1.1. 访问控制列表(ACL) 1.2. 合约账号创建 1.3. 合约账号基本操作 2. 多节点部署 2.1. p2p网络配置 2.2. 搭建TDPoS共识网络 3. 创建群组 7. 使用事件订阅功能 7.1. 事件订阅的接口 7.2. 使用事件订阅 8. 只读跨链场景使用文档 8.1. B网络搭建 8.2. A网络搭建 8.3. 跨链查询 9. 非事务场景跨链使用文档 9.1. 中继同步合约 9.2. 合约使用方法 9.3. 中继同步进程 开发应用 1. 电子存证合约 1.1. 问题引入 1.2. 数据结构的设计 1.3. 电子存证合约的功能实现 其主要特点是高性能,通过原创的XuperModel模型,真正实现了智能合约的并 行执行和验证,通过自研的WASM虚拟机,做到了指令集级别的极致优化。 在架构方面,其可插拔、插件化的设计使得用户可以方便选择适合自己业务场 景的解决方案,通过独有的XuperBridge技术,可插拔多语言虚拟机,从而支 持丰富的合约开发语言。 在网络能力方面,XuperChain具备全球化部署能力,节点通信基于加密的P2P 网络,支持广域网超大规0 码力 | 270 页 | 24.86 MB | 1 年前3
百度超级链 XuperChain 3.12-a中文文档XuperChain是超级链体系下的第一个开源项目,是构建超级联盟网络的底层 方案。 其主要特点是高性能,通过原创的XuperModel模型,真正实现了智能合约的 并行执行和验证,通过自研的WASM虚拟机,做到了指令集级别的极致优 化。 在架构方面,其可插拔、插件化的设计使得用户可以方便选择适合自己业务 场景的解决方案,通过独有的XuperBridge技术,可插拔多语言虚拟机,从而 支持丰富的合约开发语言。 存储独立。底层存储支持可插拔,从而可以满足不同的业务场景 网络 负责交易数据的网络传播和广播、节点发现和维护。以P2P通信为 基础,实现全分布式 结构化拓扑网络结构,数据传输全程加密。 局域网穿透技术采用NAT方案,同一条流保 持长连接且复用。多 条链复用同一个p2p网络 共识 共识模块用于解决交易上链顺序问题,过滤无效交易并达成全网 一致。XuperChain实 现了更加高效的DPOS共识算法。支持可插 交易处理速度:达到9万TPS 1. 默认采用DPOS作为共识算法; 2. 交易处理充分利用计算机多核,支持并发执行; 3. 智能合约通过读写集技术能够支持并发执行; 总结 XuperChain是百度自研的一套区块链解决方案,采用经典的UTXO记账模 式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善 的账号与权限体系,采用DPOS作为共识算法,交易处理速度可达到9万 TPS。 核心优势 应用场景0 码力 | 336 页 | 12.62 MB | 1 年前3
百度超级链 XuperChain 3.12-c 中文文档XuperChain是超级链体系下的第一个开源项目,是构建超级联盟网络的底层 方案。 其主要特点是高性能,通过原创的XuperModel模型,真正实现了智能合约的 并行执行和验证,通过自研的WASM虚拟机,做到了指令集级别的极致优 化。 在架构方面,其可插拔、插件化的设计使得用户可以方便选择适合自己业务 场景的解决方案,通过独有的XuperBridge技术,可插拔多语言虚拟机,从而 支持丰富的合约开发语言。 存储独立。底层存储支持可插拔,从而可以满足不同的业务场景 网络 负责交易数据的网络传播和广播、节点发现和维护。以P2P通信为 基础,实现全分布式 结构化拓扑网络结构,数据传输全程加密。 局域网穿透技术采用NAT方案,同一条流保 持长连接且复用。多 条链复用同一个p2p网络 共识 共识模块用于解决交易上链顺序问题,过滤无效交易并达成全网 一致。XuperChain实 现了更加高效的DPOS共识算法。支持可插 交易处理速度:达到9万TPS 1. 默认采用DPOS作为共识算法; 2. 交易处理充分利用计算机多核,支持并发执行; 3. 智能合约通过读写集技术能够支持并发执行; 总结 XuperChain是百度自研的一套区块链解决方案,采用经典的UTXO记账模 式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善 的账号与权限体系,采用DPOS作为共识算法,交易处理速度可达到9万 TPS。 核心优势 应用场景0 码力 | 336 页 | 12.62 MB | 1 年前3
百度超级链 XuperChain 3.12 中文文档XuperChain是超级链体系下的第一个开源项目,是构建超级联盟网络的底层 方案。 其主要特点是高性能,通过原创的XuperModel模型,真正实现了智能合约的 并行执行和验证,通过自研的WASM虚拟机,做到了指令集级别的极致优 化。 在架构方面,其可插拔、插件化的设计使得用户可以方便选择适合自己业务 场景的解决方案,通过独有的XuperBridge技术,可插拔多语言虚拟机,从而 支持丰富的合约开发语言。 存储独立。底层存储支持可插拔,从而可以满足不同的业务场景 网络 负责交易数据的网络传播和广播、节点发现和维护。以P2P通信为 基础,实现全分布式 结构化拓扑网络结构,数据传输全程加密。 局域网穿透技术采用NAT方案,同一条流保 持长连接且复用。多 条链复用同一个p2p网络 共识 共识模块用于解决交易上链顺序问题,过滤无效交易并达成全网 一致。XuperChain实 现了更加高效的DPOS共识算法。支持可插 交易处理速度:达到9万TPS 1. 默认采用DPOS作为共识算法; 2. 交易处理充分利用计算机多核,支持并发执行; 3. 智能合约通过读写集技术能够支持并发执行; 总结 XuperChain是百度自研的一套区块链解决方案,采用经典的UTXO记账模 式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善 的账号与权限体系,采用DPOS作为共识算法,交易处理速度可达到9万 TPS。 核心优势 应用场景0 码力 | 336 页 | 12.62 MB | 1 年前3
共 373 条
- 1
- 2
- 3
- 4
- 5
- 6
- 38













