《Saga分布式事务解决⽅案与实践》演讲者/姜宁se-per-service.html 两阶段提交 2PC Transaction Manager RM 1 RM 2 prepare() OK prepare() OK commit() OK commit() OK • 提供强⼀一致保障 • 准备阶段完成资源操作 • 如果准备过程中出现问题,可以回滚 • 提交阶段不不允许出错 • 资源层⾯面提供保障业务侵⼊入性低 尝试执⾏行行业务 • 完成所有业务检查,预留留必须的业务资源 • Confirm:确认执⾏行行业务 • 真正执⾏行行业务,不不做业务检查 • Cancel:取消执⾏行行业务 • 释放Try阶段预留留的业务资源 业务服务 try confirm cancel 通过领域建模来解决 • 微服务内:聚合通过数据库事务保证强⼀一致 • 内刚 • 微服务间:最终⼀一致 • 外柔 微服务事务⼀一致性建议 Saga log) • 隔离性 (Saga不不保证) • 持久性 (Saga log) 缺乏隔离性带来的问题 • 两个Saga事务同时操作⼀一个资源会出现数据语义不不⼀一致的的情况。 • 两个Saga事务同时操作⼀一个订单 ,彼此操作会覆盖对⽅方(更更新丢失) • 两个Saga事务同时访问扣款账号,⽆无法看到退款 (脏读取问题) • 在⼀一个Saga事务内,数据被其他事务修改前后的读取值不不⼀一致(模糊0 码力 | 33 页 | 2.38 MB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁se-per-service.html 两阶段提交 2PC Transaction Manager RM 1 RM 2 prepare() OK prepare() OK commit() OK commit() OK • 提供强⼀一致保障 • 准备阶段完成资源操作 • 如果准备过程中出现问题,可以回滚 • 提交阶段不不允许出错 • 资源层⾯面提供保障业务侵⼊入性低 尝试执⾏行行业务 • 完成所有业务检查,预留留必须的业务资源 • Confirm:确认执⾏行行业务 • 真正执⾏行行业务,不不做业务检查 • Cancel:取消执⾏行行业务 • 释放Try阶段预留留的业务资源 业务服务 try confirm cancel 通过领域建模来解决 • 微服务内:聚合通过数据库事务保证强⼀一致 • 内刚 • 微服务间:最终⼀一致 • 外柔 微服务事务⼀一致性建议 Saga log) • 隔离性 (Saga不不保证) • 持久性 (Saga log) 缺乏隔离性带来的问题 • 两个Saga事务同时操作⼀一个资源会出现数据语义不不⼀一致的的情况。 • 两个Saga事务同时操作⼀一个订单 ,彼此操作会覆盖对⽅方(更更新丢失) • 两个Saga事务同时访问扣款账号,⽆无法看到退款 (脏读取问题) • 在⼀一个Saga事务内,数据被其他事务修改前后的读取值不不⼀一致(模糊0 码力 | 39 页 | 2.78 MB | 1 年前3
走进开源 - Apache ServiceComb须保证修改后的软件也“自由” 开源发展第一阶段 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 自由软件和商业软件 之间的折中 遵循版权前提下,可以自由访问、使 用、改变和共享,也可用做商用目的 开源发展第二阶段 [社区网站] http://servicecomb http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 开源发展第三阶段 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb • 源代码开放,可自由访问、使用、修改和共享 • 开源许可协议的选择 org [Github ] https://github.com/apache?q=servicecomb ServiceComb 全球首个Apache微服务顶级项目 进入Apache基金会近两年时间,共孵化11个项目,累计发布20+软件版本,社区净增代码59.4万+行,变更代码 330万+行,共接收6800+个提交,2400+个PR,由来自Redhat、Syswin、Hyperpilot、腾讯、oneAPM、京东、0 码力 | 28 页 | 1.92 MB | 1 年前3
消费者云CSE微服务实践无论Rest API,戒者RPC Highway API,统一使用Swagger YAML定义API 服务端和客户端都基于API定义,通过CSE提供的工具生成丌同语言的类库, 客户端可以丌导入服务端的类库定义,双方互相解耦 始终以在线的API定义为准,防止服务端私自修改接口代码(例如增减字段、 修改字段类型) 每日微服务流水线构建,及时发现接口丌兼容问题 CSE 支持多链路和链路级故障隔离 支持服务熔断和降级,以及第三方故障隔离(集成Hystrix) CSE在消费者云业务的实践-服务调用高性能 CSE的高性能设计: 提供Rest和Highway RPC两种通信协议,满足 丌同业务场景 高性能的Rest:集成Vertx,底层基于Netty,性 能比传统Servlet NIO性能高X倍 Highway RPC:采用Netty + PB,既支持多语0 码力 | 22 页 | 1.39 MB | 1 年前3
开源开发者的一天 - Apache ServiceComb须保证修改后的软件也“自由” 开源发展第一阶段 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 自由软件和商业软件 之间的折中 遵循版权前提下,可以自由访问、使 用、改变和共享,也可用做商用目的 开源发展第二阶段 [社区网站] http://servicecomb http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 开源发展第三阶段 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb • 源代码开放,可自由访问、使用、修改和共享 • 开源许可协议的选择0 码力 | 31 页 | 2.02 MB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践Highway API,统一使用Swagger YAML定义API 微服务代码生成:服务端和客户端都基于API定义,通过 ServiceComb提供的工具生成不同语言的类库,客户端可以不导入服务 端的类库定义,双方互相解耦 微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 防止开发本地随意修改API 微服务API依赖关系:通过微服务流水线编译、打包和系统集成0 码力 | 15 页 | 1.15 MB | 1 年前3
华为云分布式事务DTM最佳实践系统盘:40GB; 数据盘(SSD):1TB; 14 github.com/apache?q=servicecomb servicecomb.apache.org 总结 • 在服务拆分阶段就应该尽量避免事务 • 并不是所有地方都要求强一致性 • 强一致性也不保证绝对的一致 • 所有方案都是尽量缩小不一致的时间窗口 • 考虑成本 Copyright©2018 Huawei Technologies0 码力 | 15 页 | 3.10 MB | 1 年前3
可发布版-美团点评微服务OCTO-曹继光跨地区容灾和扩展能力 Ø 数千万订单量级b务强需 求 青铜 Ø 基础能力达标 铂金 Ø 性能一流 Ø 足n支撑数百万订单量级b务 Ø 易用性q秀 服务治理演进各c阶段 服务治理实践(%):基础能力达标 - 青铜段t 监控报警 数据分析 • 性能指标 • 来源去向 • f机分析 • 数据报表 • 调用链路 • 节点监控0 码力 | 35 页 | 14.10 MB | 1 年前3
微服务架构实践-唯品会���� ���� ���� ����� ���� ���� ���� ���� ���� 52 ����������� N kc为什么要实施微服务 N 现阶段kcu司适合实施微服务吗 N 组织架构做好调整了吗 N 是否有微服务相v技术r备 N 实施微服务的好处是否大于成本 53 ������� 54 ����� �� ��0 码力 | 120 页 | 82.16 MB | 1 年前3
Metrics in ServiceComb 1.0.0-m1关键指标覆盖 全 • 计量准确 • 高性能低资源 占用 • 无侵入或低侵 入 Metrics的分类 • Metrics有很多种分类方式,在技术实现上我们偏向以取值方式区 分为两种: • 1. 直接取值 • 任何时候都能够立刻获取到最新值,例如资源使用率,包括CPU使用率,线程数, Heap使用数据等等,还有调用累加次数,当前队列长度等等。 • 2. 统计取值 较弱,但是支持使用 Dropwizard Metrics集成实现 强化 数据发布 Push模式,自带三种 Observer Pull或Push,自带几种 Reporter Pull或Push,自带两种 Repository 框架相关 无框架绑定 无框架绑定(不绑定 Dropwizard) 绑定Spring Boot 侵入性 有,需要自己打点 有,需要自己打点 按需,Http自动记录基本信0 码力 | 18 页 | 938.89 KB | 1 年前3
共 18 条
- 1
- 2













