庖丁解牛:华为云微服务工具解放开发者
语法分析 语法分析 语法分析 表关联分析 图切割+启 发式规则 Step1:提取系统所有SQL Step2:逐条根据SQL创建语法树 Step3:在每棵语法树上分析表的关联关系并汇集 成表关联关系加权图 Step6:采用图切割算法并配合启发式规则将表分 割到不同库中 原则:低耦合,高内聚 耦合度:微服务划分后,微服务与微服务连接的边的权重之和 内聚度:微服务划分后,微服务内部表与表之间的边权重之和 现水平扩展,提升访问速度 (分区分库) 步骤4:根据表结构变化,自动调整DDL/CRUD等SQL语句自动生成java的数据访问服务 步骤5:数据表执行、数据搬迁 业务应用层 业务应用层 业务应用层 通过对表的关联 关系及应用情况, 反向推导微服务 拆分策略 ╳ ╳ Huawei Confidential 9 拆分原理 handler scissors 1.指定代码路径 /home/xxx/project mysql/oracle 的规则文件 生成表关联关系list 计算权重,生成图 输出权重图, 选择、调用 指定算法 贪婪/谱聚类算法 内容格式化 拿规则类解析sql语句 返回计算结果 1 2 3 4 5 6 7 8 9 sqlrule (mysql/oracle/…) 选择规则,透 传sql语句集 传入表关联关系list Huawei Confidential0 码力 | 14 页 | 1.54 MB | 1 年前3Apache ServiceComb 微服务创新项目解读
语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 微服务鉴权 分布式系统配置中心 微服务契约工具 Apache ServiceComb Toolkit Toolkit - 遵循OpenAPI的微服务开发、改造工具 提供遵循OpenAPI规范的API、代码、文档相互转换和校 验的能力,帮助用户快速构建基于流行微服务框架和编程 模型的微服务脚手架工程,提升遗留系统重构、开发效率 • 项目地址 https://github.com/apache/servicecomb-toolkit • 开发计划 - 支持API生成Spring ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件提供商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同实现基于契约(API)的数据、服务标准化管控 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 微服务 运行环 境 验收微服务0 码力 | 13 页 | 1.24 MB | 1 年前3ServiceComb在华为消费者云的亿级用户微服务实践
没有十全十美的微服务框架,适合的才是最好的 微服务API设计:支持Swagger API规范 开发方式:支持透明RPC、Spring MVC风格的微服务开发 编程模型:同时支持同步、异步的编程模型 性能:支持原生的Reactive模式(EventLoop),相比于传 统的同步服务调用,性能更高(吞吐量N倍+提升、时延降低 为原来的50%-) 轻量级、易集成:可以方便的与Spring 务 端的类库定义,双方互相解耦 微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 防止开发本地随意修改API 微服务API依赖关系:通过微服务流水线编译、打包和系统集成 测试,识别并展示微服务API之间的依赖关系(我依赖谁、谁依赖我) API变更管控:API变更邮件通知和审批,每日微服务流水线构建, 及时发现接口不兼容问题 实践-不同的微服务开发风格 Website:0 码力 | 15 页 | 1.15 MB | 1 年前3微服务架构与领域驱动设计 - 王磊
什什么是领域驱动设计 领域驱动设计 �8 领域驱动设计解决的两个核⼼心问题: 1.业务架构如何合理理的设计划分? 2.技术架构与业务架构保持⼀一致? 领域驱动设计是⼀一种设计⽅方法,围绕业务概念构建领域模型, 并通过分离技术实现的复杂性,从⽽而控制软件演化的复杂度。 Tacking Complexity in the heart of software �9 微服务架构与领域驱动设计? �10 微服务架构与领域驱动设计 • 能有效指导服务的设计与划分 基于领域驱动设 计,能有效识别 业务模型/业务上 下⽂文。从业务⻆角 度指导服务拆分。 微服务架构与DDD 01 领域驱动设计的核⼼心 02 基于事件⻛风暴暴的DDD实践 03 领域驱动设计的核⼼心 1.建⽴立统⼀一语⾔言 2.建⽴立领域模型 3.识别依赖关系 4.细分界限上下⽂文 将业务架构和系统架构对应起来,建⽴立针对业务变化的⾼高响应⼒力力架构 Domain&Subdomains - 领域&⼦子域 • Core Domain • Supporting Domain • Generic Domain Bounded Contexts - 业务上下⽂文 • 定义领域模型的应⽤用范围和其上下⽂文 Context Mapping - 上下⽂文映射 • 负责不不同上下⽂文之间的协作 • Shared Kernel • Anti-Corruption Layer Entity0 码力 | 28 页 | 1.84 MB | 1 年前3微服务创新新品发布
语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 分布式系统配置中心 服务中心异构通信 多语言运行环境 微服务鉴权 微服务契约工具 Apache ServiceComb Maven/Gradle 插件 契约提取 代码生成 文档制作 契约校验 ServiceComb SpringCloud …… ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同企业遗 提供契约、代码、文档相互转换和校验的能力,帮助用户快速构建基于流行微服务框架和编程模型 的微服务工程,降低微服务学习成本,使能用户聚焦业务开发,提升遗留系统重构、开发效率。 • 契约生成微服务工程:一键生成基于ServiceComb/SpringCloud的微服务工程。 • 代码提取契约:一键从基于SpringMVC/POJO/JAX-RS编程模型开发代码提取OpenAPI契约。 • 契约校验:一键校验实际代码的实现是否与约定契约一致性。0 码力 | 12 页 | 2.96 MB | 1 年前3ServiceComb设计揭秘:标准与开发
ServiceComb 开发框架 通信模型 (restful、 highway) 编程模型 (jaxrs、pojo、 springmvc) 服务契约 (OpenAPI) 服务发现 熔断 负载均衡 配置 跟踪 … 运行模型 基本概念 • SchemaMeta 描述、 Schema-id等; • MicroServiceInstance 微服务实例:一个独立的拥有自IP端口的微服务实例(通常为进程), 不service id的关系为n:1,即Service ID可以拥有多个微服务实例; 系 统 模 块 图 框架的启劢不停止 框架运行时请求发送不处理过程 业务调用 构造请求元数据 消费端handlers0 码力 | 9 页 | 831.77 KB | 1 年前3Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见
开源之初-准备 • 为什么要开源? – 开源与闭源之间的收益区别? – 项目开源的最大收益什么? • 开源项目定位 – 项目解决什么样的问题 – 项目开源的目的和价值 – 开源项目与商业产品的关系 6 github.com/apache?q=servicecomb servicecomb.apache.org ServiceComb开源微服务解决方案 ServiceComb微服务解决方案 org/guides/community.html 14 github.com/apache?q=servicecomb servicecomb.apache.org Apache孵化器毕业 • 社区成熟度模型评估 – 代码,发版,共识决策 • Board决议文档撰写 – PMC成员,PMC Chair,项目章程 • 通过投票的方式进行决议 – PPMC投票 – IPMC投票 • 是否构建了有生命力的社区 支持ServiceMesher 服务实例Cache优化支 持黑白名单 Service Center Java Chassis 1.0.0-m1 支持Dev开发模式 集成外部配置中心 Metrics 监控支持 异步编程模型支持 ZipkinV2版本支持 Service Center Java Chassis 1.0.0-m2 提升etcd弹性伸缩 边缘服务网关优化 支持文件流上传下载 用户自定义访问日志 Service0 码力 | 18 页 | 3.12 MB | 1 年前3NTTDATA 汽车行业数字营销平台微服务化实践
数据,车联网数据等,全渠道 数据收集追踪,建立数据分析 模型,辅助业务的决策优化 大数据分析 及应用 线上数字化布局 线下数字化布局 车联网及线下店端消费者旅程与线上消费 者旅程相结合,设计多种跨渠道跨屏互动, 引导进店消费者通过扫码,配车,留资等 行为整合线上数据 利用人脸识别等多种技术及平台,通过可 配置用户聚类评级模型和数据处理算法, 实现消费者深度洞察,提高销售线索质量 …… 存储服务 安全服务 接口网关服务 日志服务 网络服务 …… 短信服务 技术 中台 ……. 消费者互动数据 消费者账号 消费者基础信息 消费者交易数据 消费者服务数据 ….. 人 人车关系数据 车况数据 车辆维修保养数 据 ….. 库存物流数据 组织架构数据 活动渠道数据 …… 厂 营销中台 销售中台 内容管理 活动管理 …… 线索管理 客户管理 渠道管理 活动工具管理0 码力 | 11 页 | 2.25 MB | 1 年前3Apache ServiceComb Introduction of Microservice Innovation Project
document Based on ServiceComb/SpringCloud Microservice project ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb toolkit Develop microservice Test microservice Customer + Integrator0 码力 | 13 页 | 1.13 MB | 1 年前3解读Apache
提供了项⽬的治理 Apache之道 “Apache之道” 核⼼原则 “Apache之道” 核⼼原则 粗略的共识和可以⼯作的代码 ⼩的可逆步骤(进⾏探索) 任何建设性的贡献都可以获得功绩… … ⽽企业从属关系和资 历却没有 功绩不会过期 功绩不给你权威; 它可以让你有⾏使权⼒威信 没有独裁者,没有否决权 - 依赖于建⽴共识 “Apache 之道” AKA “社区胜于代码” ASF依托于Apache之道运作 从Apache孵化器毕业 完成(或者签署)孵化项⽬状态⽂件中的任务 保证项⽬和产品有合适的名称 展示创建⼀个Apache Release的能⼒ 创建⼀个开放和多样的社区 通过Apache 项⽬成熟模型的检测 http://community.apache.org/apache-way/apache-project-maturity-model.html ⽀持ASF ⽀持ASF ASF由企业,基⾦会和个⼈的免税捐款0 码力 | 43 页 | 4.89 MB | 1 年前3
共 35 条
- 1
- 2
- 3
- 4