华为云分布式事务DTM最佳实践servicecomb.apache.org github.com/apache?q=servicecomb 华为云分布式事务DTM最佳实践. 王启军 2 github.com/apache?q=servicecomb servicecomb.apache.org 王启军,华为云PaaS团队架构师,负责微服 务框架的开发。曾任当当网架构师,主导电商平台 架构设计;曾就职于搜狐负责手机微博的研发。 Strong 业界常用的一致性分类 5 github.com/apache?q=servicecomb servicecomb.apache.org 方案\指标 2PC 传统事务 可靠事件 TCC 柔性事务 SAGA 补偿事务 数据一致性 强一致 最终一致 最终一致 最终一致 总体性能 低 高 取决于实现 取决于实现 业务侵入性 较低侵入 高侵入 高侵入 高侵入 适用广泛性 一般 一般 高 高 低 产品成熟度 高 高 一般 低 方案对比 6 github.com/apache?q=servicecomb servicecomb.apache.org 分布式事务管理中间件 (Distributed Transaction Management,DTM) 7 github.com/apache?q=servicecomb servicecomb.apache.org DTM总体架构(TCC)0 码力 | 15 页 | 3.10 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
ServiceComb雄关漫道(POJO/Spring MVC/JAX-RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量 通信协议 (Rest&RPC) 边缘服务 熔断/容错 Token认证 Saga事务一致性 服务契约 平滑上云 拥抱开源生态 处理链 微服务脚手架 服务安全 治理UI 自动部署 监控运维 Public Cloud …… SpringCloud SpringBoot ,以及限流降级,容错熔 断等服务治理功能 • Service Center • 基于Etcd高性能,高可用服务注册中心 • Saga • 微服务事务最终一致性问题解决方案 • 提供一个集中式的事务协调器,协调微服务之间的事务调用,保证事务最终一致性 https://github.com/apache?q=incubator-servicecomb ServiceComb Java Chassis的架构图 线 程 池 分布式服务调用追踪 • 支持标准的分布式调用追踪Zipkin V1,V2 • 支持通过@span扩展自定义调用追踪 分布式事务一致性问题 A B C commit rollback 分布式事务一致性问题 A B C Saga分布式事务一致性解决方案 Saga Coordinator Saga Saga Saga ID: x Saga Log Saga Started0 码力 | 20 页 | 4.00 MB | 1 年前3
华为企业级PaaS 微服务应用升级/回滚 灰度发布 弹性伸缩 微服务运维 应用告警 日志分析 全链路拓扑 SQL分析 调用链 立体监控 方法追踪 事务洞察 微服务治理 负载均衡 限流/降级 熔断/容错 错误注入 黑白名单 微服务管理 注册中心 配置中心 治理中心 全局事务 契约管理 监控大屏 智能分析 环境管理 开发环境 测试环境 预验证环境 灰度环境 生产环境 商业生态(aPaaS/SaaS) 微服务 微服务 DMS 发布订阅 ServiceComb引擎 服务中心 配置中心 SpringCloud引擎 Eureka/Consul Config Server 微服务引擎管理器 用户 申请引擎 部署 治理中心 下发治理: • 灰度发布 • 熔断,降级 • 重试 • 超时 • 限流 • 变更业务配置 管理微服务运行时,查看API文档 对接 监控平台0 码力 | 17 页 | 3.42 MB | 1 年前3
华为微服务框架ServiceComb提供微服务注册发现以及限流降级,容错熔断等治理功能 • Service Center • 高性能,高可用服务注册中心 • Saga • 微服务数据一致性问题解决方案 • 提供一个集中式的事务协调器,协调微服务乊间的事务,保证事务最终一致性 2018 Building Microservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 ServiceComb Chassis架构 & Kenneth 发表论文 Sagas • Saga = Long Live Transaction (LLT) • LLT = T1 + T2 + T3 + ... + Tn • 每个本地事务Tx 有对应的补偿 Cx T1 T2 T3 C3 C2 C1 https://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf Microservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 Saga Pack版本 • Alpha - 族群领袖, Saga 协调器 • Omega – 族群成员, 事务协调代理 Alpha Service A Omega Service B Omega Alpha Alpha 2018 Building Microservice NO0 码力 | 28 页 | 1.53 MB | 1 年前3
ServiceComb 微服务框架JWT认证 Saga事务一致性 服务契约 平滑上云 开源生态能力互通 微服务脚手架 云 Dubbo SpringBoot SpringCloud ServiceMesh APM/Tracing生态 Prometheus Zipkin Skywalking Apollo ServiceMesh生态 Istio ServiceComb子系统 Saga 分布式事务解决方案 服务中心 基于Pack模型的新构架 由 Alpha 和 Omega组成 •Alpha充当协调者的角色,主要负责对事务的 事件进行持久化存储以及协调子事务的状态,使 其最终得以与全局事务的状态保持一致,即保证 事务中的子事务全执行,或全不执行。 •Omega是用户程序侧代理,负责对网络请求 进行拦截并向Alpha上报事务事件,并在异常情 况下根据Alpha下发的指令执行相应的补偿或重 试操作。 Service A0 码力 | 11 页 | 668.81 KB | 1 年前3
ServiceComb介绍SpringMVC/JAX- RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量量 通信协议 (Rest&RPC) 边缘服务 熔断/容错 Token认证 Saga事务⼀一致性 服务契约 平滑上云 拥抱开源⽣生态 处理理链 微服务脚⼿手架 服务安全 治理理UI ⾃自动部署 监控运维 Public Cloud …… SpringCloud SpringBoot 错熔 断等服务治理理功能 • Service Center • 基于Etcd⾼高性能,⾼高可⽤用服务注册中⼼心 • Saga • 微服务事务最终⼀一致性问题解决⽅方案 • 提供⼀一个集中式的事务协调器器,协调微服务之间的事务调⽤用,保证事务最终⼀一致性 https://github.com/apache?q=incubator-servicecomb ServiceComb Java Center • 前端UI与服务中⼼心整合 • 优化微服务实例例统计信息 • Saga 0.2.0 • ⽀支持Spring Boot 2, Java 9, Java 10 • 提供了了Dubbo事务调⽤用追踪⽀支持 ServiceComb近期发展路路线图 响应式编程⽀支持 RxJava AsyncRestTemplate CompletableFuture ⽣生态⽀支持 Java 90 码力 | 16 页 | 877.58 KB | 1 年前3
微服务架构及ServiceComb实践关注事务性要求(ACID) 2. 关注对性能的要求 举例:商品维护和下订单是2个微服务,下订单系统对性能有较高要求,所以可以考虑把商品的价格从商品维护微服务同步到订单系统,该同步动作 对性能没有要求,对事务性有要求。 常见的服务间通信模式:同(异)步通信,API组合,基于MQ的异步通信 事务性: saga, 事务性消息发布(一次仅一次),分布式事务等 很易用的服务间saga事务方案Servicecomb-Pack: Login-db Redis Redis Gateway Saga同步qualification 1. 每个微服务对应自己数据层 2. 拆分经验:看业务,不看技术 3. 利用:saga, 事务性消息发布,最终一致性,同(异)步调用组合等微服务模式 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache0 码力 | 14 页 | 2.04 MB | 1 年前3
使用微服务架构快速开发万级TPS高可用电商系统1. 关注事务性要求(ACID) 2. 关注对性能的要求 举例:客户维护和订单是2个微服务,订单系统对性能有较高要求,所以可以考虑把购房资格信息从客户维护微服务同步到订单系统,改同步动作 对性能没有要求,对事务性有要求。 常见的服务间通信模式:同(异)步通信,API组合,基于MQ的异步通信 事务性: saga, 事务性消息发布(一次仅一次),分布式事务等 很易用的服务间saga事务方案Servicecomb Login-db Redis Redis Gateway Saga同步qualification 1. 每个微服务对应自己数据层 2. 拆分经验:看业务,不看技术 3. 利用:saga, 事务性消息发布,最终一致性,同(异)步调用组合等微服务模式 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache0 码力 | 15 页 | 1.46 MB | 1 年前3
共 22 条
- 1
- 2
- 3













