ServiceComb在华为消费者云的亿级用户微服务实践没有十全十美的微服务框架,适合的才是最好的  微服务API设计:支持Swagger API规范  开发方式:支持透明RPC、Spring MVC风格的微服务开发  编程模型:同时支持同步、异步的编程模型  性能:支持原生的Reactive模式(EventLoop),相比于传 统的同步服务调用,性能更高(吞吐量N倍+提升、时延降低 为原来的50%-)  轻量级、易集成:可以方便的与Spring 遵循OpenAPI Specification,消费端、提供端只依赖API  API描述:无论Rest API,或者RPC Highway API,统一使用Swagger YAML定义API  微服务代码生成:服务端和客户端都基于API定义,通过 ServiceComb提供的工具生成不同语言的类库,客户端可以不导入服务 端的类库定义,双方互相解耦  微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 业务熟悉的模式,可以更好的重用已有代码和开发经验,提升重构 效率 实践-同步和异步 Website: http://servicecomb.incubator.apache.org/ Gitter: https://gitter.im/ServiceCombUsers/Lobby 不一刀切,根据业务实际需要选择同步或者异步微服务调用 微服务消费端 业务 线程 池 异步 I/O线 程池 NIO异步通信0 码力 | 15 页 | 1.15 MB | 1 年前3
 反应式微服务框架ServiceComb设计思想&mdashServiceComb 的通信模型演进—Reactor 黄金法则:不要阻塞Event Loop 什么才叫阻塞? n Thead.sleep() n 等待一个锁 n 等待一个互斥信号或监视器(例如同步的代码块) n 执行一个长时间数据库操作并等待其结果 n 执行一个复杂的计算,占用了可感知的时长 n 在循环语句中长时间逗留 10000TPS=0.1ms处理一个请求 如果利⽤多核? ServiceComb 不会产生多余的线程切换,去无谓地消 耗cpu。 压测数据 系统: Ubuntu 18.04.1 CPU: 4vCPU Intel(R) Xeon(R) CPU E5- 2680 v4 @ 2.40GHz 内存: 8GB 测试代码:https://github.com/GuoYL123/ReactiveBenchmark 调优后的压测数据 n 寻找拐点 n 调整consumer/producer参数(网络线程/业务线程等),提升处理能力 Zuul VS EdgeService 3 Callback hell 实践案例—华为消费者云 异步场景1:降低长流程/复杂业务流程时延 异步场景2:CPU资源使用率低、性能要求高 异步场景3:需要配置较长超时时间的接口 异步场景4:多个微服务级联调用 性能对比测试: 采用Reactive异步模式之后,TPS提升 43% 左右 时延降低 28% 左右,CPU占用降低 56% 左右 总结0 码力 | 33 页 | 5.68 MB | 1 年前3
 Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见Dubbo ServiceMesh K8S 对接行业解决方案 7 github.com/apache?q=servicecomb servicecomb.apache.org 社区胜于代码 community over code 社区构建 8 github.com/apache?q=servicecomb servicecomb.apache.org 参与度 用户 开发者 提起孵化提案 – 寻找Champion 和Mentor – 发起投票 – 投票通过在孵化器建立项目 – 签署SGA, CLA, iCLA文件 – 代码库迁移,建立邮件列表, wiki,JIRA – 商标检索转移工作 – 清理代码,修改包名 – 按照ASF的要求准备第一个release 13 github.com/apache?q=servicecomb servicecomb.apache org/guides/community.html 14 github.com/apache?q=servicecomb servicecomb.apache.org Apache孵化器毕业 • 社区成熟度模型评估 – 代码,发版,共识决策 • Board决议文档撰写 – PMC成员,PMC Chair,项目章程 • 通过投票的方式进行决议 – PPMC投票 – IPMC投票 • 是否构建了有生命力的社区0 码力 | 18 页 | 3.12 MB | 1 年前3
 ServiceComb 介绍ServiceComb是什么? • ServiceComb包含了哪些组件? • ServiceComb社区介绍? 议题 • 企业业务逻辑复杂,如何进行跨团队协同开发? • 大量老旧系统代码,如何支持其服务化改造? • 云化应用面临的监控已经分布调用追踪问题? 企业应用微服务开发面临的问题 ServiceComb 为什么需要服务契约 • 作为服务消费者 • 需要明确知道如何调用服务? • 作为服务提供方 • 提供详细描述的文档很难 • 提供和维护标准的SDK也很难 • 提供用户支持也不太方便 Java Go 服务 契约 生成工具 框架 代码 框架 代码 框架 代码 接口 文档 接口 文档 接口 文档 生成 生成 • 面向接口契约而不是逻辑 • 解耦服务提供者和消费者的开发顺序 • 契约定义为语言中立 • 规范化系统接口,让实现与文档的同步 • 异步操作提升应用处理效率 • 支持Restful以及RPC 异步事件操作保证系统性能 分布式调用追踪 • 支持标准追踪协议 • Zipkin • 支持@span扩展事务追踪 • 提供调用追踪扩展 • 可以配置自定义的追踪处理器 • 支持适配自定义追踪格式 http://github.com/ServiceComb ServiceComb代码库信息0 码力 | 16 页 | 1.26 MB | 1 年前3
 ServiceComb 的前世今生怎么才能加快微服务的开发? • 微服务化后如何保证性能? • 如何进行统一的路由控制? 企业应用和集成 Java 注册中心、治理中心 Go 服务 契约 生成工具 框架 代码 框架 代码 框架 代码 接口 文档 接口 文档 接口 文档 生成 生成 • 面向契约而不是逻辑 • 解耦服务提供者和消费者的开发顺序 • 契约定义为语言中立 OpenAPI (Swagger) 定义 编辑器:在线编辑,语法提示, 错误检查 文档生成器:生成HTML与符合 华为规范文档 Mock生成器:生成Mock工具, 用于测试微服务 现有代码提取 OpenAPI工具 与RPC的IDL互 转工具 protobuf3 多语言多框架代 码生成器 多语言Protobuf3对象 编码库 Java 微服务编程框架 增速微服务开发 --- 降低学习门槛 SpringMVC JAXRS 性能保证 Process Event-Loop Process R R W W 线 程 池 •异步 • 标准、开放、协议健壮性 • 开发框架的性能在于细节,而不仅仅 是协议。 更细致的服务路由管控 ETCD 集群 服务中 心实例 服务中 心实例 服务中 心实例 • 统一的路由策略管控0 码力 | 16 页 | 1.45 MB | 1 年前3
 ServiceComb雄关漫道(OpenAPI) 服务发现 熔断 负载均衡 配置 跟踪 … 运行模型 围绕服务契约进行开发以及运维 异步化支持 • 基于Vertx提供的异步内核 • 保持高性能的同时支持同步调用方式 • 将通信线程与业务处理线程分离 • 操作级别线程池控制,支持隔离仓 • 支持多种异步编程接口 • CompletableFuture • RxJava • Reactive Stream • 边缘服务 系统Metric 异步调用API Saga 0.0.1 集中式Saga原型 Saga 0.0.2 Saga调用支持条件判断 2017年6月 2017年8月 2017年10月 2017年9月 2017年12月 ServiceComb 1.0.0-m1 新特性 • Java Chassis • 支持 CompletableFeature 异步调用接口 • 监控指标模块优化,支持与prometheus对接 支持通过携程的Apollo配置中心来动态配置实例 • Service Center • 优化Service Center性能,修复Bug • Saga 0.1.0 • 支持通过Annotation在应用代码事务 • Pack原型实现,通过切面编程技术获取微服务的事务调用信息,采用集中式的事务管理器协调 事务执行 ServiceComb近期发展路线图 响应式编程支持 RxJava AsyncRestTemplate0 码力 | 20 页 | 4.00 MB | 1 年前3
 ServiceComb介绍跟踪 … 运⾏行行模型 围绕服务契约进⾏行行开发以及运维 异步化⽀支持 • 基于Vertx提供的异步内核 • 保持⾼高性能的同时⽀支持同步调⽤用⽅方式 • 将通信线程与业务处理理线程分离 • 操作级别线程池控制,⽀支持隔离仓 • ⽀支持多种异步编程接⼝口 • CompletableFuture • RxJava • Reactive Stream Sample示例例优化 Service Center Java Chassis 0.4.0 服务中⼼心升级 Service Center Java Chassis 0.5.0 边缘服务 系统Metric 异步调⽤用API Saga 0.0.1 集中式Saga原型 Saga 0.0.2 Saga调⽤用⽀支持条件判断 2017年年6⽉月 2017年年8⽉月 2017年年10⽉月 2017年年9⽉月 ServiceComb 1.0.0-m2 新特性 • Java Chassis • 全⾯面⽀支持⽂文件上传与下载 • 监控指标模块优化 • 提供优雅下线功能 • 提供Maven Archetype创建⼯工程代码 • Service Center • 前端UI与服务中⼼心整合 • 优化微服务实例例统计信息 • Saga 0.2.0 • ⽀支持Spring Boot 2, Java 9, Java 100 码力 | 16 页 | 877.58 KB | 1 年前3
 华为微服务框架ServiceCombMicroservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 异步性能支持 • 基于Vertx提供的异步内核 • 保持高性能的同时支持同步调用方式 • 将通信线程不业务处理线程分离 • 操作级别线程池控制,支持隔离仓 • 支持多种异步编程接口 • CompletableFuture • RxJava • Reactive Stream 0-m1新特性 • Java Chassis • 异步调用接口支持 • 监控指标模块优化,支持不prometheus, OverWatch • 支持通过携程Apollo劢态配置实例 • Service Center • 优化Service Center性能,修复Bug • Saga 0.1.0 • 支持通过Annotation在用户代码定义事务 • Pack原型实现,通过切面编程技术获取事务信息,通过集中式的事务管0 码力 | 28 页 | 1.53 MB | 1 年前3
 Apache ServiceComb 开源微服务社区签署贡献者协 议CLA 由PMC提名并 投票选拔 由PMC提名并 投票选拔 由PMC提名并投票选 拔 由会员提名并投票选 拔 由会员提名并投票选 拔 拥有权利 提交issues 及patch 有代码库读写 权限 决策子项目需 求和方向 负责整体孵化项目决 策及投票 提议Committer候选 人及孵化器候选项目 管理与监督基金会商 务与日常事务 IPMC Apache软件基金会 LC3大会 q=servicecomb ServiceMesh 服务通信规范 配置 流行微服务框架 可视化监控 分布式追踪 遗留应用转型 全新微服务开发 开发工具 代码自 动生成 契约自 动提取 契约校验 文档自 动生成 微服务脚手架 快速入门 案例代码库 用户手册 社区网站 开源异构微服务兼容 内核 服务中心 微服务开发框架 TCC&Saga 分布式事务框架 认证框架 配置中心 多语言方案 安全认证 分布式事务 标准契约管理 微服务脚手架 配置治理中心 POJO 编程模型 JAX-RS 编程模型 通信模型 RPC 插件式扩展 开箱即用 编程/通信模型分离 轻量级边缘服务 纯异步内核 内置监控治理 分布式事务方案 标准契约管理 复杂留给自己,极简留给用户 • 跨服务事务一致性 • 多语言,同时选型 • 灵活扩展、定制 • 减少基础设施运 维工作量 为解决微服务化痛点而生0 码力 | 15 页 | 2.86 MB | 1 年前3
 ServiceComb java SDK详解Rest Consumer 透明RPC RestTemplate Producer 透明RPC JAX-RS SpringMVC • 传输绑架开发模式 • 传输可能对业务代码产生严重的侵入 • 治理逻辑与业务代码或传输耦合,需要针对各种场景独立开发 治理 治理 治理 治理 设计演进 服务契约 (OpenAPI) Transport Highway Servlet Rest Vertx Rest Consumer 透明RPC RestTemplate Producer 透明RPC JAX-RS SpringMVC 以契约为核心,贯穿始终 • 开发模式(业务代码)、治理、传输三方解耦,互不感知 • 以高性能的Reactive为基础,同时兼容传统的同步开发模式,且支持传统的Servlet传输 LoadBalance …… QPS Trace …… endpoints endpoints endpoints Endpoint RESTful Highway All ...... 微服务调用-consumer 透明RPC: 同步、异步声明,可以分开进行,也可以在同一个接口中声明 interface Schema { String hello(String name); } interface Schema { Comp0 码力 | 21 页 | 1.15 MB | 1 年前3
共 33 条
- 1
 - 2
 - 3
 - 4
 













