庖丁解牛:华为云微服务工具解放开发者庖丁解牛:华为云微服务工具解放开发者 部门:应用平台服务 作者:王启军 日期:20190920 Security Level: 目录 1. 微服务拆分工具 2. 契约管理工具 Huawei Confidential 3 微服务架构的优势 因素 单体架构 微服务架构 交付速度 较慢 较快 故障隔离范围 线程级 进程级 整体可用性 较低 更高 架构持续演进 困难 简单 沟通效率 产品创新复杂度 困难 容易 一致性实现成本 低 高 时延 低 高 资源成本 低 高 关联查询复杂度 简单 复杂 远程调用 不涉及 涉及 服务治理 不涉及 涉及 对开发人员的要求 低 高 对工具的依赖 较低 较高 运维复杂度 低 高 Huawei Confidential 4 微服务架构的第一大问题——如何拆分微服务? •影响因素 >团队大小 >交付周期 >业务方向 >故障范围 >现有数据规模 >服务数量爆炸,运维复杂 >服务数量太少,不够灵活 >一个user story影响众多服务 >接口频繁变更 >大量关联查询 >系统架构复杂度提升 Huawei Confidential 6 通过微服务拆分工具解放开发者 支撑活动 方法论 • ThoughtWorks五步十一阶 • DDD聚合 • 事件源Event Sourcing • 命令查询责任分离CQRS 现有做法 业务改造 投入大0 码力 | 14 页 | 1.54 MB | 1 年前3
华为企业级PaaS 微服务应用开发环境 测试环境 预验证环境 灰度环境 生产环境 商业生态(aPaaS/SaaS) 行业 (政府、教育、医疗、零售、……) 伙伴 (软通、中软、幸宜、博思、医 信、……) 工具(CPE) 设计和开发 构建 测试 发布上线 监控运维 部署 流 水 线 ( 持 续 集 成 、 持 续 交 付 ) 扩展插件: Eclipse等 扩展插件: 静态检查等 扩展插件: 扩展插件: 三方部署系 统 扩展插件: 客户测试系 统 扩展插件: 客户自有仓 库 扩展插件: 客户自有监 控 开发者生态 开源社区 案例 开发者 API 产品 生态 通用微服务工具市场 行业微服务组件市场 虚机(ECS) servicecomb.apache.org github.com/apache?q=servicecomb 基础设施 Build, ship and org github.com/apache?q=servicecomb 为什么选择ServiceComb • 兼容Spring Cloud与ServiceComb等开源生态,使开发者能够无改造迁移上云 • 多语言解决方案:Java,Go两种语言框架与Service mesh方案 • 契约管理:自动生成API文档,并在中心管理,使集成更加流畅,约束接口不能任意变更 servicecomb0 码力 | 17 页 | 3.42 MB | 1 年前3
微服务创新新品发布服务中心异构通信 多语言运行环境 微服务鉴权 微服务契约工具 Apache ServiceComb 面对用户痛点持续创新 3 github.com/apache?q=servicecomb servicecomb.apache.org 服务网格-Mesher https://github.com/go-mesh/mesher (正在迁移到Apache ServiceComb) 使用服务网格 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同企业遗留系统微服务化快速改造,实现基于契约的数据、服务标准化管控 微服务契约工具 https://github.com/apache/servicecomb-toolkit ServiceComb com/apache/servicecomb-service-center/tree/master/syncer Syncer是一个多服务中心的同步工具,专为大型微服务架构设计,实现不同的微服务技术栈实现的微服务业务可以进行数 据通信,未来可支持跨云的数据通信支持。 •对应用程序透明。同步工具启停,不应该对应用程序的原有流程产生影响。 •为多服务中心提供对等网络。他们之间是松耦合的,成员可以自由加入与退出。 •对异构0 码力 | 12 页 | 2.96 MB | 1 年前3
消费者云CSE微服务实践OpenAPI规范,最终将微服务API规范化、标准化、在线化。系统从传统单体 应用的黑盒调用(本地Java方法调用)转变成透明的API契约调用 服务自治:通过在线的微服务治理结合云平台,可以实现微服务的弹性伸缩、故障自劢 迁移、降级熔断等,保障微服务的运行质量,提升业务SLA 建立服务化团队:随着业务的丌断拆分,大的研发团队也会被拆分成2-Pizza Team, 微服务团队由3-5人组成,负责整个微服务的设计、开发、测试、部署运维和治理,通过 常用的服务治理能力要内置到服务框架中,业务领域强相关、非 通用能力可以通过扩展点实现 微服务框架技术选型-易集成 当前业务使用Spring MVC等传统的单体架构,希望可以较平滑、 低成本的迁移到微服务架构上: 从业务接受度上,希望丌要翻天覆地的改变业务开发习惯,最好能够兼容原Spring MVC开发模式 从集成角度看,希望可以灵活的不Spring Boot等框架集成 4、错误码... 最佳实践 无论Rest API,戒者RPC Highway API,统一使用Swagger YAML定义API 服务端和客户端都基于API定义,通过CSE提供的工具生成丌同语言的类库, 客户端可以丌导入服务端的类库定义,双方互相解耦 始终以在线的API定义为准,防止服务端私自修改接口代码(例如增减字段、 修改字段类型) 每日微服务流水线构建,及时发现接口丌兼容问题0 码力 | 22 页 | 1.39 MB | 1 年前3
ServiceComb RoadMap为什什么开源ServiceComb • ServiceComb的开源内容 • 如何参与ServiceComb社区进⾏行行贡献 议题 • 华为企业云化应⽤用开发积累了了⼀一些经验 • 微服务框架可以降低云化迁移成本 • 通过开源的⽅方式分享云转型的成功实践 为什什么开源ServiceComb? Github 搜索 ServiceComb ServiceComb代码库地址 − Java-chassis 服务注册中⼼心 3. 微服务示例例代码 2017年年6⽉月 2017年年9⽉月 2017年年12⽉月 ServiceComb 0.2版本 1. Go语⾔言开发框架 2. 服务契约⽀支持⼯工具 3. Reactive响应式 4. … ServiceComb 0.3版本 1. 由⽤用户来驱动 … ServiceComb Roadmap Community over code 社区胜于代码0 码力 | 10 页 | 460.46 KB | 1 年前3
ServiceComb在Service Mesh的
探索与思考ServiceComb Service Center架构演进 - 支持多注册中心 - 拥抱混合云架构 - 同时支持客户端自注册与平台注册 - 打通k8s与虚机等基础设施,可实现VM向容器平滑迁移 Service Center k8s adaptor etcdadaptor Service center adaptor Registry k8s k8s Service center0 码力 | 21 页 | 8.48 MB | 1 年前3
Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见Apache孵化器 • 进入ASF孵化的步骤 – 提起孵化提案 – 寻找Champion 和Mentor – 发起投票 – 投票通过在孵化器建立项目 – 签署SGA, CLA, iCLA文件 – 代码库迁移,建立邮件列表, wiki,JIRA – 商标检索转移工作 – 清理代码,修改包名 – 按照ASF的要求准备第一个release 13 github.com/apache?q=servicecomb0 码力 | 18 页 | 3.12 MB | 1 年前3
ServiceComb 的前世今生生成工具 框架 代码 框架 代码 框架 代码 接口 文档 接口 文档 接口 文档 生成 生成 • 面向契约而不是逻辑 • 解耦服务提供者和消费者的开发顺序 • 契约定义为语言中立 • 规范化系统接口,让实现与文档的同 步成为必须 • 通过工具简化整个过程 API First 增速微服务开发 --- 工具支持 OpenAPI OpenAPI (Swagger) 定义 编辑器:在线编辑,语法提示, 错误检查 文档生成器:生成HTML与符合 华为规范文档 Mock生成器:生成Mock工具, 用于测试微服务 现有代码提取 OpenAPI工具 与RPC的IDL互 转工具 protobuf3 多语言多框架代 码生成器 多语言Protobuf3对象 编码库 Java 微服务编程框架 Go 框架 ServiceMesh 容 错 & 熔 断 限 流 降 级 服 务 隔 离 容 量 预 测 微 服 务 安 全 工具链生态 契约开发 工具 代码自动 生成 文档自动 生成 自动测试 工具 本地远程 调试 微服务 流水线 资源管理 容器编排 & 调 度 应用管理 弹性伸缩 灰度发布 监控运维APM Go语言0 码力 | 16 页 | 1.45 MB | 1 年前3
Apache ServiceComb 微服务创新项目解读帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 微服务鉴权 分布式系统配置中心 微服务契约工具 Apache ServiceComb [Website] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb [Github ] https://github.com/apache?q=servicecomb ServiceComb Toolkit Toolkit - 遵循OpenAPI的微服务开发、改造工具 提供遵循OpenAPI规范的API、代码、文档相互转换和校 验的能力,帮助用户快速构建基于流行微服务框架和编程 模型的微服务脚手架工程,提升遗留系统重构、开发效率 • 项目地址 https://github API提取 代码生成 文档生成 ServiceComb ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件提供商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同实现基于契约(API)的数据、服务标准化管控 划分微服务 (含依赖关系)0 码力 | 13 页 | 1.24 MB | 1 年前3
Apache ServiceComb 开源微服务社区com/apache/servicecomb-pack 集中式事务协调器: https://github.com/apache/servicecomb-saga-actuator 微服务契约开发工具:https://github.com/apache/servicecomb-toolkit 案例集:https://github.com/apache/servicecomb-samples Github入口:https://github.com/apache?q=servicecomb ServiceMesh 服务通信规范 配置 流行微服务框架 可视化监控 分布式追踪 遗留应用转型 全新微服务开发 开发工具 代码自 动生成 契约自 动提取 契约校验 文档自 动生成 微服务脚手架 快速入门 案例代码库 用户手册 社区网站 开源异构微服务兼容 内核 服务中心 微服务开发框架 TCC&Saga 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 微服务鉴权 分布式系统配置中心 微服务契约工具 19 年Apache ServiceComb新品发布 面对用户痛点持续创新 财政业务应用 指导 规约 支撑 支撑 云平台 财政业务中台 财政云 ISV-A ISV-B ISV-C0 码力 | 15 页 | 2.86 MB | 1 年前3
共 22 条
- 1
- 2
- 3













