庖丁解牛:华为云微服务工具解放开发者庖丁解牛:华为云微服务工具解放开发者 部门:应用平台服务 作者:王启军 日期:20190920 Security Level: 目录 1. 微服务拆分工具 2. 契约管理工具 Huawei Confidential 3 微服务架构的优势 因素 单体架构 微服务架构 交付速度 较慢 较快 故障隔离范围 线程级 进程级 整体可用性 较低 更高 架构持续演进 困难 简单 沟通效率 对开发人员的要求 低 高 对工具的依赖 较低 较高 运维复杂度 低 高 Huawei Confidential 4 微服务架构的第一大问题——如何拆分微服务? •影响因素 >团队大小 >交付周期 >业务方向 >故障范围 >现有数据规模 >吞吐量 >一致性 >…… Huawei Confidential 5 拆分不好,可能带来的问题 •拆分不好,可能带来的问题 >服务数量爆炸,运维复杂 >服务数量太少,不够灵活 >服务数量太少,不够灵活 >一个user story影响众多服务 >接口频繁变更 >大量关联查询 >系统架构复杂度提升 Huawei Confidential 6 通过微服务拆分工具解放开发者 支撑活动 方法论 • ThoughtWorks五步十一阶 • DDD聚合 • 事件源Event Sourcing • 命令查询责任分离CQRS 现有做法 业务改造 投入大 + 应用上云 + IaaS0 码力 | 14 页 | 1.54 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊com/resources/library/app-dev-survey/ 什什么是微服务架构? • 微服务架构是⼀一种架构模式,将单体应⽤用划分成⼀一组⼩小的服务,服务之间互相协作,为⽤用户提供最终价值 • 每个服务运⾏行行在其独⽴立的进程中,服务间采⽤用轻量量级的通信机制协作(通常是基于RESTful API) • 每个服务都围绕着具体业务进⾏行行构建,并且能够被独⽴立的部署到⽣生产环境、类⽣生产环境等 Microservices 什什么是演进式架构? • 演进是动态平衡 • 痛苦的事情提前做 • 运维意识是关键 演进式架构 拥抱变化 动态平衡 业务 技术 团队 架构的演进基于业务、技术和团队的平衡 - 动态的平衡 演进式架构 - 痛苦的事提前做 识别问题并⽤用⾃自动化的⼿手段消除痛苦 演进式架构 - 运维意识是关键 架构只是抽象,直到真正投⼊入运维产⽣生价值 议题 • 微服务架构的核⼼心 • 微服务架构设计原则 language) • 界限上下⽂文(Bundle context) 围绕业务-构建团队 围绕业务-构建团队 VS 服务A 开发 测试 DBA UI/UX 运维 服务B 开发 测试 DBA UI/UX 运维 康威定律律:组织产⽣生的设计成果等同于组织内的协作结构 微服务架构的设计原则 • 竞争能⼒力力平衡 • 围绕业务构建 • “去”中⼼心化 • ⾃自动化“⼀一切”0 码力 | 62 页 | 6.65 MB | 1 年前3
Apache ServiceComb 开源微服务社区捐赠给Apache 进入孵化器 成为Apache 顶级项目 首个Apache微服务顶级项目 提供一站式的微服务开源解决方案,致力于帮助企业、用户和开发 者将应用轻松微服务化上云,实现对微服务应用的高效运维管理 华为开始实践 微服务 2012年 2019 • 2018 OSCAR尖峰开源技术创新奖 • 2018 COSCL首届中国优秀开源项目一等奖 • 2019 首个行业微服务标准的核心参考框架 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&Saga0 码力 | 15 页 | 2.86 MB | 1 年前3
ServiceComb 的前世今生2014 MSA By Simon Wardley http://enterpriseitadoption.com/ 传统企业应用开发模式 开发 产品发布计划 开发 集成开发 运维人员替换 部 署 旧 版 本 开发 开发 测试/发布 • 技术实现单一,需要想办法用一种技术解决所有问题 • 只能按大颗粒系统发布版本,响应周期长 (小特性版本3-6个月,每年1个大版本) 生成工具 框架 代码 框架 代码 框架 代码 接口 文档 接口 文档 接口 文档 生成 生成 • 面向契约而不是逻辑 • 解耦服务提供者和消费者的开发顺序 • 契约定义为语言中立 • 规范化系统接口,让实现与文档的同 步成为必须 • 通过工具简化整个过程 API First 增速微服务开发 --- 工具支持 OpenAPI OpenAPI (Swagger) 定义 编辑器:在线编辑,语法提示, 错误检查 文档生成器:生成HTML与符合 华为规范文档 Mock生成器:生成Mock工具, 用于测试微服务 现有代码提取 OpenAPI工具 与RPC的IDL互 转工具 protobuf3 多语言多框架代 码生成器 多语言Protobuf3对象 编码库 Java 微服务编程框架 Go 框架0 码力 | 16 页 | 1.45 MB | 1 年前3
2-4-禚娴静-微服务你玩得起吗之间互相协调、互相配合,为⽤用户提供最终价值。每个服务运⾏行在其独⽴立的进程 中,服务与服务间采⽤用轻量级的通信机制互相沟通(通常是基于HTTP协议的 RESTful API)。每个服务都围绕着具体业务进⾏行构建,并且能够被独⽴立的部署到 ⽣生产环境、类⽣生产环境等。另外,应当尽量避免统⼀一的、集中式的服务管理机 制,对具体的⼀一个服务⽽而⾔言,应根据业务上下⽂文,选择合适的语⾔言、⼯工具对其进 ⾏行构建。 为什么要采⽤用微服务架构? services 8 * 4 services 1 环境⼿手⼯工维护,频频出错 2014年问题倍出 部署成功率很低,部署时经常 有⼀一堆环境修改需求,运维⼈人 员出错机会增加,运维效率极 低。 2 缺乏有效监控 ⽆无法快速有效定位问题,⽆无法 快速有效知晓服务运⾏行状态, 服务资源浪费。 3 服务过⼤大,堵塞交付 快速增⻓长的结果导致服务过⼤大 或者服务过⼩小。⽽而过⼤大的服务 导致整个提交流⽔水线堵塞,测 有⼀一堆环境修改需求,运维⼈人 员出错机会增加,运维效率极 低。 ⽆无法快速有效定位问题,⽆无法 快速有效知晓服务运⾏行状态, 服务资源浪费。 回到问题 1.运维⾃自动化 1 基础设施⾃自动化 实施了新的部署流程,成功率 ⼤大⼤大提⾼高,部署时间缩短到 30分钟。 2 ⾼高效监控 服务提供状态汇报,利⽤用 Splunk聚合⽇日志,对服务运 ⾏行状态进⾏行监控,⼤大⼤大提⾼高运 维效率。 2.DevOps⼀一家亲0 码力 | 51 页 | 8.18 MB | 1 年前3
华为企业级PaaS 微服务应用经验固化 目标设定 培 训 ( 理 论 、 案 例 、 实 战 演 练 ) 应用管理平台(CAS) 生命周期管理 部署/卸载 启动/停止 升级/回滚 灰度发布 弹性伸缩 微服务运维 应用告警 日志分析 全链路拓扑 SQL分析 调用链 立体监控 方法追踪 事务洞察 微服务治理 负载均衡 限流/降级 熔断/容错 错误注入 黑白名单 微服务管理 注册中心 预验证环境 灰度环境 生产环境 商业生态(aPaaS/SaaS) 行业 (政府、教育、医疗、零售、……) 伙伴 (软通、中软、幸宜、博思、医 信、……) 工具(CPE) 设计和开发 构建 测试 发布上线 监控运维 部署 流 水 线 ( 持 续 集 成 、 持 续 交 付 ) 扩展插件: Eclipse等 扩展插件: 静态检查等 扩展插件: 三方部署系 统 扩展插件: 扩展插件: 客户测试系 统 扩展插件: 客户自有仓 库 扩展插件: 客户自有监 控 开发者生态 开源社区 案例 开发者 API 产品 生态 通用微服务工具市场 行业微服务组件市场 虚机(ECS) servicecomb.apache.org github.com/apache?q=servicecomb 基础设施 Build, ship and run in any infrastructure0 码力 | 17 页 | 3.42 MB | 1 年前3
微服务创新新品发布帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 分布式系统配置中心 服务中心异构通信 多语言运行环境 微服务鉴权 微服务契约工具 Apache ServiceComb 面对用户痛点持续创新 3 github.com/apache?q=servicecomb servicecomb.apache.org 服务网格-Mesher 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同企业遗留系统微服务化快速改造,实现基于契约的数据、服务标准化管控 微服务契约工具 https://github.com/apache/servicecomb-toolkit ServiceComb com/apache/servicecomb-service-center/tree/master/syncer Syncer是一个多服务中心的同步工具,专为大型微服务架构设计,实现不同的微服务技术栈实现的微服务业务可以进行数 据通信,未来可支持跨云的数据通信支持。 •对应用程序透明。同步工具启停,不应该对应用程序的原有流程产生影响。 •为多服务中心提供对等网络。他们之间是松耦合的,成员可以自由加入与退出。 •对异构0 码力 | 12 页 | 2.96 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
ServiceComb在华为消费者云的亿级用户微服务实践服务化培训 案例 培训 研发&运维团队 微服务划分 微服务 开发 微服务测试 微服 务运 维 规范制定:微服务命名规范、微服务API定义规范、微服 务验收规范、微服务运维和治理规范… 技术选型:统一的微服务框架技术选型,涵盖微服务框架 、微服务流水线(CI/CD)、微服务自动化运维和部署框架 组织赋能:拉通设计、开发、测试和运维的跨团队培训、 技术方案试点、案例分享、 Ribbon SLB 注册中心 配置服务: Zookeeper etcd 缓存方案: Redis 数据库方案: DB + MQ 服务治理 服务治理: 超时、流控、 降级等 运维KPI: ELK Zabbix 调用链: zipkin 选择ServiceComb的原因: 实践- API First Website: http://servicecomb API描述:无论Rest API,或者RPC Highway API,统一使用Swagger YAML定义API 微服务代码生成:服务端和客户端都基于API定义,通过 ServiceComb提供的工具生成不同语言的类库,客户端可以不导入服务 端的类库定义,双方互相解耦 微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 防止开发本地随意修改API 微服务API依赖关系:通过微服务流水线编译、打包和系统集成0 码力 | 15 页 | 1.15 MB | 1 年前3
NTTDATA 汽车行业数字营销平台微服务化实践人车关系数据 车况数据 车辆维修保养数 据 ….. 库存物流数据 组织架构数据 活动渠道数据 …… 厂 营销中台 销售中台 内容管理 活动管理 …… 线索管理 客户管理 渠道管理 活动工具管理 公众号矩阵管理 标签管理 个性化推荐引擎 工单管理 线索管理 销售助手 权限管理 客服 中台 电话客服 在线客服 业务 分析 主数据管理 …… 用户行为分析 销售转化分析 活动分析 业务微服务化及分层设计 应用微服务引擎 第一层.CRM静态站点 第二层.CRM 业务网关 第三层.CRM 业务微服务 第四层.CRM 业务数据 服务中心 配置中心 治理中心 IT运维 日志可视化 (华为云) CDN/ WAF 资源监控预警 (华为云 AOM) 营销平台 接口服务 消息 REST NAT网关 NAT gateway 4核8G 按需扩容 4核8G github.com/apache?q=servicecomb servicecomb.apache.org 微服务化数据逻辑设计CRM接口库. 接口数据库 <营销活动工具> 营销活动工具 数据库 CRM ETL Server (kettle) CRM业务库 1. 系统管理 CRM业务库 2. 线索库 CRM业务库 3. 工单库 CRM业务库 4. 0 码力 | 11 页 | 2.25 MB | 1 年前3
共 32 条
- 1
- 2
- 3
- 4













