微服务创新新品发布OpenAPI规范契约文件 契约与代码一致性校验报告 契约(接口)文档 异构微服务项目工程 (ServiceComb 或 SpringCloud) 遗留应用代码 (SpringMVC/POJO/JAX-RS) 契约文件 (符合OpenAPI规范) 用户交互 转换 微服务工程构建 CLI命令行 Maven/Gradle 插件 契约提取 代码生成 文档制作 契约校验 ServiceComb toolkit 提供契约、代码、文档相互转换和校验的能力,帮助用户快速构建基于流行微服务框架和编程模型 的微服务工程,降低微服务学习成本,使能用户聚焦业务开发,提升遗留系统重构、开发效率。 • 契约生成微服务工程:一键生成基于ServiceComb/SpringCloud的微服务工程。 • 代码提取契约:一键从基于SpringMVC/POJO/JAX-RS编程模型开发代码提取OpenAPI契约。 • • 契约校验:一键校验实际代码的实现是否与约定契约一致性。 • 契约/代码生成文档:一键制作html文档。 5 github.com/apache?q=servicecomb servicecomb.apache.org 服务中心异构通信 Syncer pull&&push pull&&push pull&&push Micro service Micro service Micro0 码力 | 12 页 | 2.96 MB | 1 年前3
ServiceComb 的前世今生无法做到永远在线,大版本升级时,要停机中断服务 微服务化的应用构建和发布 产品发布计划 产品发布计划 产品发布计划 产品发布计划 开发 部署到生成 环境 部署到生成 环境 开发 开发 部署到生成 环境 部署到生成 环境 部署到生成 环境 开发 开发 bugs 旧版本持续运行 Speed & Safety 面临的问题 • 企业应用和互联网应用的不同? 微服务化后如何保证性能? • 如何进行统一的路由控制? 企业应用和集成 Java 注册中心、治理中心 Go 服务 契约 生成工具 框架 代码 框架 代码 框架 代码 接口 文档 接口 文档 接口 文档 生成 生成 • 面向契约而不是逻辑 • 解耦服务提供者和消费者的开发顺序 • 契约定义为语言中立 • 规范化系统接口,让实现与文档的同 OpenAPI (Swagger) 定义 编辑器:在线编辑,语法提示, 错误检查 文档生成器:生成HTML与符合 华为规范文档 Mock生成器:生成Mock工具, 用于测试微服务 现有代码提取 OpenAPI工具 与RPC的IDL互 转工具 protobuf3 多语言多框架代 码生成器 多语言Protobuf3对象 编码库 Java 微服务编程框架0 码力 | 16 页 | 1.45 MB | 1 年前3
Apache ServiceComb 微服务创新项目解读https://github.com/apache?q=servicecomb Mesher - 开箱即用的异构、多语言、非侵入式微服务框架 基于Golang实现的高性能服务网格框架,支持零侵入业 务代码实现微服务化改造,与流行微服务框架治理互通 • 项目地址 https://github.com/apache/servicecomb-mesher • 开发计划 - 网关能力 - 融合生态 遵循OpenAPI的微服务开发、改造工具 提供遵循OpenAPI规范的API、代码、文档相互转换和校 验的能力,帮助用户快速构建基于流行微服务框架和编程 模型的微服务脚手架工程,提升遗留系统重构、开发效率 • 项目地址 https://github.com/apache/servicecomb-toolkit • 开发计划 - 支持API生成Spring Cloud微服务工程 - 支持OAI V3 - 文档制作 API校验 代码解析 微服务开发框架层 ServiceComb SpringCloud …… 实现层 插件 命令行 …… …… 脚手架服务 [Website] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb Toolkit - 一键生成基于流行微服务框架的微服务工程0 码力 | 13 页 | 1.24 MB | 1 年前3
庖丁解牛:华为云微服务工具解放开发者如AI 拆表 拆界面及业务逻辑 微服务化改造典型流程 挑战:强业务相关, 必须业务+微服务专 家介入,投入大、时 间长; 关键技术:应用微服 务化改造工具套件 根据sql、日志、代码实现微服务拆分,并修改相关代码。 Huawei Confidential 7 微服务拆分工具-表自动分库 SQL 语句 SQL 语句 SQL 语句 … 语法分析 语法分析 语法分析 表关联分析 图切割+启 步骤4:根据表结构变化,自动调整DDL/CRUD等SQL语句自动生成java的数据访问服务 步骤5:数据表执行、数据搬迁 业务应用层 业务应用层 业务应用层 通过对表的关联 关系及应用情况, 反向推导微服务 拆分策略 ╳ ╳ Huawei Confidential 9 拆分原理 handler scissors 1.指定代码路径 /home/xxx/project 2.指定算法(目前默认 (greedy/clustering/…) output 数据拆分 建议文件 解析代码,搜集sql语句 开发时预处理:通过 Antlr4工具生成java可识 别的解析规则的对象, 埋入源码 生成sql语句集(Mysql 或其他DB的方言) mysql/oracle 的规则文件 生成表关联关系list 计算权重,生成图 输出权重图, 选择、调用 指定算法 贪婪/谱聚类算法 内容格式化 拿规则类解析sql语句0 码力 | 14 页 | 1.54 MB | 1 年前3
ServiceComb 介绍ServiceComb是什么? • ServiceComb包含了哪些组件? • ServiceComb社区介绍? 议题 • 企业业务逻辑复杂,如何进行跨团队协同开发? • 大量老旧系统代码,如何支持其服务化改造? • 云化应用面临的监控已经分布调用追踪问题? 企业应用微服务开发面临的问题 ServiceComb 为什么需要服务契约 • 作为服务消费者 • 需要明确知道如何调用服务? • 提供详细描述的文档很难 • 提供和维护标准的SDK也很难 • 提供用户支持也不太方便 Java Go 服务 契约 生成工具 框架 代码 框架 代码 框架 代码 接口 文档 接口 文档 接口 文档 生成 生成 • 面向接口契约而不是逻辑 • 解耦服务提供者和消费者的开发顺序 • 契约定义为语言中立 • 规范化系统接口,让实现与文档的同步 支持@span扩展事务追踪 • 提供调用追踪扩展 • 可以配置自定义的追踪处理器 • 支持适配自定义追踪格式 http://github.com/ServiceComb ServiceComb代码库信息 − Java-chassis • Java版的微服务框架 − service-center • 基于go语言的服务中心 − ServiceComb-Saga • 长时间运行事务处理框架0 码力 | 16 页 | 1.26 MB | 1 年前3
Apache ServiceComb 开源微服务社区签署贡献者协 议CLA 由PMC提名并 投票选拔 由PMC提名并 投票选拔 由PMC提名并投票选 拔 由会员提名并投票选 拔 由会员提名并投票选 拔 拥有权利 提交issues 及patch 有代码库读写 权限 决策子项目需 求和方向 负责整体孵化项目决 策及投票 提议Committer候选 人及孵化器候选项目 管理与监督基金会商 务与日常事务 IPMC Apache软件基金会 LC3大会 q=servicecomb ServiceMesh 服务通信规范 配置 流行微服务框架 可视化监控 分布式追踪 遗留应用转型 全新微服务开发 开发工具 代码自 动生成 契约自 动提取 契约校验 文档自 动生成 微服务脚手架 快速入门 案例代码库 用户手册 社区网站 开源异构微服务兼容 内核 服务中心 微服务开发框架 TCC&Saga 分布式事务框架 认证框架 配置中心 多语言方案 天气预报 ServiceComb 开源入门到进阶sample • 开源以来接受来自Redhat、Tencent、JD.com等13+企业的258贡献者的commits 4857个, 变更代码298万行,净增加代码59万行 • 18年参与LC3、HCC、Kubecon等业界大会,共举办meetup 20+场,用户现场workshop 40+场次 • 目前被各行业企业广泛使用,覆盖IOT、生物0 码力 | 15 页 | 2.86 MB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践API,或者RPC Highway API,统一使用Swagger YAML定义API 微服务代码生成:服务端和客户端都基于API定义,通过 ServiceComb提供的工具生成不同语言的类库,客户端可以不导入服务 端的类库定义,双方互相解耦 微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 防止开发本地随意修改API 微服务API依赖关系:通过微服务流水线编译、打包和系统集成 2、使用DSF等服务框架开发的,更熟悉透明RPC开发模式: 3、还可以使用JAX-RS模式开发微服务: 开发模式没有优劣之分,对于重构方式进行的微服务开发,选择 业务熟悉的模式,可以更好的重用已有代码和开发经验,提升重构 效率 实践-同步和异步 Website: http://servicecomb.incubator.apache.org/ Gitter: https://gitter0 码力 | 15 页 | 1.15 MB | 1 年前3
开源开发者的一天 - Apache ServiceComb开源发展第三阶段 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb • 源代码开放,可自由访问、使用、修改和共享 • 开源许可协议的选择 • 开放式合作 • 无厂商绑定 • 没有歧视 • 可用做商用目的 开源的定义 [社区网站] http://servicecomb 者协议 CLA 由PMC提 名并投票选 拔 由PMC提 名并投票选 拔 由PMC提名并投 票选拔 由会员提名并投 票选拔 由会员提名并投票 选拔 拥有权利 提交issues 及patch 有代码库读 写权限 决策子项目 需求和方向 负责整体孵化项 目决策及投票 提议Committer 候选人及孵化器 候选项目 管理与监督基金会 商务与日常事务 • 注册在美国的非盈利组织 • 提供法律和基础设施的支持 http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb Community over code(社区胜于代码) Meritocra cy Communi ty Open & transpare ncy Pragmati sm Collabora tive develop ment0 码力 | 31 页 | 2.02 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
消费者云CSE微服务实践Cloud等,都无法完全满足业务的 选型诉求,而CSE则能够很好的满足我们的需求 仔细阅读了CSE的主要模块代码,包括网络通信、线程调度模型等,代码质量非常高, 对细节的把握比较好 选型试用时,大家对CSE的接受度比较高,使用CSE改造已有的Spring MVC代码相对较 容易些 华为内部的平台,无论是新需求接纳,还是技术支撑,各方面保障都比较给力 天生支持Do API,戒者RPC Highway API,统一使用Swagger YAML定义API 服务端和客户端都基于API定义,通过CSE提供的工具生成丌同语言的类库, 客户端可以丌导入服务端的类库定义,双方互相解耦 始终以在线的API定义为准,防止服务端私自修改接口代码(例如增减字段、 修改字段类型) 每日微服务流水线构建,及时发现接口丌兼容问题 CSE 消费者 提供者 模 拟 桩0 码力 | 22 页 | 1.39 MB | 1 年前3
共 28 条
- 1
- 2
- 3













