《Saga分布式事务解决⽅案与实践》演讲者/姜宁准备阶段完成资源操作 • 如果准备过程中出现问题,可以回滚 • 提交阶段不不允许出错 • 资源层⾯面提供保障业务侵⼊入性低 • 协议成本⾼高,并且存在全局锁的问题 ACID 与 BASE • ACID • 原⼦子性 (Atomicity) • ⼀一致性 (Consistency) • 隔离性 ( Isolation) • 持久性 (Durability) 幂等 T = T T … T car rental saga T T' time C 保留留所有事务数据! car rental saga T T' time ACID 与 Saga • ACID • 原⼦子性 (Atomicity) • ⼀一致性 (Consistency) • 隔离性 ( Isolation) • 持久性 (Durability)0 码力 | 33 页 | 2.38 MB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁准备阶段完成资源操作 • 如果准备过程中出现问题,可以回滚 • 提交阶段不不允许出错 • 资源层⾯面提供保障业务侵⼊入性低 • 协议成本⾼高,并且存在全局锁的问题 ACID 与 BASE • ACID • 原⼦子性 (Atomicity) • ⼀一致性 (Consistency) • 隔离性 ( Isolation) • 持久性 (Durability) 幂等 T = T T … T car rental saga T T' time C 保留留所有事务数据! car rental saga T T' time ACID 与 Saga • ACID • 原⼦子性 (Atomicity) • ⼀一致性 (Consistency) • 隔离性 ( Isolation) • 持久性 (Durability)0 码力 | 39 页 | 2.78 MB | 1 年前3
My Participation in ServiceComb - Apache Committer 成长经验分享problems: l How to manage transactions in microservice-based environments l Limitations of traditional ACID in distributed environments l Eventual consistency based on the Saga model Huawei Confidential 50 码力 | 9 页 | 2.23 MB | 1 年前3
微服务架构及ServiceComb实践每个微服务有自己的数据库(层) • 服务架构应用的质量很大程度取决于服务的拆分的高内聚,低耦合,不了解服务间通信,无法做出高质量的拆分。 不同的业务,涉及的不同的服务间通信有不同的要求 1. 关注事务性要求(ACID) 2. 关注对性能的要求 举例:商品维护和下订单是2个微服务,下订单系统对性能有较高要求,所以可以考虑把商品的价格从商品维护微服务同步到订单系统,该同步动作 对性能没有要求,对事务性有要求。0 码力 | 14 页 | 2.04 MB | 1 年前3
使用微服务架构快速开发万级TPS高可用电商系统每个微服务有自己的数据库(层) • 服务架构应用的质量很大程度取决于服务的拆分的高内聚,低耦合,不了解服务间通信,无法做出高质量的拆分。 不同的业务,涉及的不同的服务间通信有不同的要求 1. 关注事务性要求(ACID) 2. 关注对性能的要求 举例:客户维护和订单是2个微服务,订单系统对性能有较高要求,所以可以考虑把购房资格信息从客户维护微服务同步到订单系统,改同步动作 对性能没有要求,对事务性有要求。0 码力 | 15 页 | 1.46 MB | 1 年前3
2-4-禚娴静-微服务你玩得起吗服务D 业务系统A Librarian 业务系统B 服务E 服务F 微服务架构初步形成 那时的微服务 系统集成消除重复 ful API Restful API ⾃自动 化部署 特性 团队 它给我们带来了哪些好处? 新业务C三个⽉月上线 领域服务 服务A 服务B 服务C 服务D 服务E 服务F Librarian 业务系统B 业务系统C 服务G 服务H 业务系统A 那怎么办? 2015年服务治理 � � � � � � � � � � � � DevOps 快速响应 只有这 些是不 够的 ful API Restful API ⾃自动 化部署 特性 团队 1 环境⼿手⼯工维护,频频出错 2 缺乏有效监控 3 服务过⼤大,堵塞交付 快速增⻓长的结果导致服务过⼤大 或者服务过⼩小。⽽而过⼤大的服务 导致整个提交流⽔水线堵塞,测 试⼈人员⽆无法拿到新的版本,交 Newman • 服务足够小 • 独立运行 • 轻量级通信机制 • 独立的部署 • 去中心化 微服务架构特性 API设计指导原则 容错性 新的团队结构 Perf Guild DevOps Guild 交付特性团队 交付特性团队 “没有衡量就没有改善! 你衡量什么就得到什么!” —Peter F.Drucker 产品规划 需求澄清 分析设计0 码力 | 51 页 | 8.18 MB | 1 年前3
ServiceComb 微服务框架应不同业务场景需求 •运行模型支持灵活扩展,便于 对接外部系统 特性介绍: Service Center • 服务注册/服务发现 • 微服务元数据与依赖管理 • 支持监听服务实例状态变更 • 服务实例管理 • 高性能、高可靠 • 性能监控与调用追踪 特性介绍: Java-Chassis 分布式追踪 • / 100; double bmi = weight / (heightInMeter * heightInMeter); return roundToOnePrecision(bmi); } 特性介绍: Saga 基于Pack模型的新构架 由 Alpha 和 Omega组成 •Alpha充当协调者的角色,主要负责对事务的 进行拦截并向Alpha上报事务事件,并在异常情 况下根据Alpha下发的指令执行相应的补偿或重 试操作。 Service A Omega Service B Omega Alpha Alpha Alpha DB 特性介绍: Saga Pack模型 @SpringBootApplication @EnableOmega public class Application { public static void0 码力 | 11 页 | 668.81 KB | 1 年前3
ServiceComb 的前世今生集成开发 运维人员替换 部 署 旧 版 本 开发 开发 测试/发布 • 技术实现单一,需要想办法用一种技术解决所有问题 • 只能按大颗粒系统发布版本,响应周期长 (小特性版本3-6个月,每年1个大版本) • 无法做到永远在线,大版本升级时,要停机中断服务 微服务化的应用构建和发布 产品发布计划 产品发布计划 产品发布计划 产品发布计划 开发 服务中 心实例 • 统一的路由策略管控 • 缓存以提升性能 •支持pull/push两种模式监控实例变化 • 实例动态扩容,海量的长连接或者短连接 • 支持灰度发布、服务分组等高级管理特性 微服务 ServiceComb 开发框架 通信模型 (序列化、传输协 议) 编程模型 (同步、异步、 Reactive…) 服务契约0 码力 | 16 页 | 1.45 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊are showing down the company’s growth and we are at risk of losing out competitive advantages. 我们交付特性的速度已经⽆无法满⾜足业务变 化需要。旧的交付⽅方式阻碍了了组织的发展, ⽽而我们也因此正在丧失竞争⼒力力。 O’Reilly Software Architecture Conference 2017 ⼯工程化实践 测 部 运 发 开 •独⽴立代码库 •服务说明⽂文件 •易易于本地运⾏行行 •测试⾦金金字塔 •契约测试 •组件测试 •基础设施即代码 •⼀一键部署(环境/⽅方式) •特性开关 •蓝绿部署 •⾦金金丝雀发布 •监控 •告警 •⽇日志聚合 总结 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统 ● Github:https://github0 码力 | 62 页 | 6.65 MB | 1 年前3
Service Mesh在华为公
有云的实践Mesher examples https://github.com/huawei-microservice-demo/mesher-example 未来 数据⾯面竞争点:特性,可配置,扩展性,性能 管理⾯面竞争点:特性,可配置,扩展性,易⽤用性 最重要的:编排调度平台与数据⾯面的整合,为开发者带来最完整的产品体验 Take away • The Hardest Part of Microservices:0 码力 | 52 页 | 4.37 MB | 1 年前3
共 18 条
- 1
- 2













