微服务环境下的系统治理与容错微服务环境下的系统治理与容错 王新栋 • 《架构修炼之道》作者,《决战618:探秘京东技术取胜之道》联合作者; • 对分布式、微服务系统有多年实战经验,所设计和研发的系统经历了多次百亿流量的验证; • 热爱分享,维护技术公众号 [程序架道],对高并发、高可用系统有持续不懈的追求; 个人微信号 技术公众号 • 微服务架构 • 容错 • 总结 • 治理 微服务架构 架构 架构 研发团队的持续斗争 研发团队必须从公司长远利益出发与其他部门抗争 -- Robert C. Martin 多种架构思想的本质 分层架构思维到六边形架构思维 业务领域代码 基础设施代码 再看六边形架构 治理 微服务到底需要多“微” 微 微服务的“微”暗示了服务的大小,但实际上微服务架构对构成的服务实例并没有大小方面的要求。 微服务的微 微服务的两个“谬论” n 服务之间是强隔离的。 n 微服务是大型系统的唯一选择。0 码力 | 45 页 | 16.09 MB | 1 年前3
庖丁解牛:华为云微服务工具解放开发者低 高 实现业务复杂性分解难度 困难 容易 产品创新复杂度 困难 容易 一致性实现成本 低 高 时延 低 高 资源成本 低 高 关联查询复杂度 简单 复杂 远程调用 不涉及 涉及 服务治理 不涉及 涉及 对开发人员的要求 低 高 对工具的依赖 较低 较高 运维复杂度 低 高 Huawei Confidential 4 微服务架构的第一大问题——如何拆分微服务? •影响因素 采用图搜索算法划分微服务的启发式规则(规则可自定义): 规则1:贪婪原则 规则2:完全独立的表可归属任意微服务,也可独立成微服务 规则3:归属同一微服务的表数量不低于5(作为参数可配置) 规则4:关联度大于10(作为参数可配置)的表归属同一微服务 Huawei Confidential 8 微服务拆分工具 单体应用 单体数据库 微服务数据库 A库 B库 服务A 服务B 步骤1:通过SQL的关联程 9 拆分原理 handler scissors 1.指定代码路径 /home/xxx/project 2.指定算法(目前默认 greedy) 3.指定sql规则(目前默认 mysql,后续做成智能分 析) Parser (mybatis/hibernate/…) graphanalyzer sqlanalyzer algorithm (greedy/clustering/…) output0 码力 | 14 页 | 1.54 MB | 1 年前3
华为企业级PaaS 微服务应用弹性伸缩 微服务运维 应用告警 日志分析 全链路拓扑 SQL分析 调用链 立体监控 方法追踪 事务洞察 微服务治理 负载均衡 限流/降级 熔断/容错 错误注入 黑白名单 微服务管理 注册中心 配置中心 治理中心 全局事务 契约管理 监控大屏 智能分析 环境管理 开发环境 测试环境 预验证环境 灰度环境 生产环境 商业生态(aPaaS/SaaS) 行业 ,复用,使得网络拓扑更加复杂 • 从过去“数据中心网络拓扑几乎没变化”变为“应用发布,应对业务流量,随时随地的网络拓扑变化” • 平台功能解决了应用运行时之前的种种问题,但为了将应用的运行时统一治理,保障业务可靠运行,需要引入微服务框架 来解决分布式系统中的难题 9 github.com/apache?q=servicecomb servicecomb.apache.org ServiceComb实践 ServiceComb引擎 服务中心 配置中心 SpringCloud引擎 Eureka/Consul Config Server 微服务引擎管理器 用户 申请引擎 部署 治理中心 下发治理: • 灰度发布 • 熔断,降级 • 重试 • 超时 • 限流 • 变更业务配置 管理微服务运行时,查看API文档 对接 监控平台 上报 观察 servicecomb.apache0 码力 | 17 页 | 3.42 MB | 1 年前3
NTTDATA 汽车行业数字营销平台微服务化实践com/apache?q=servicecomb servicecomb.apache.org 汽车数字营销平台微服务化转型 打造集中化、标准化、智能化、便利化的汽车品牌数字营销平台 支持数字营销快速、多样、变化的业务场景,避免系统分散重复,将技术投资回报最大化。 以智能化,可持续发展思路,打造车企C2B2C用户体验优化闭环。 可配置适应业务生长,帮助企业更快速、灵活地应对不断变化的市场需求,随 线索/会员/车主服务集中化 • 数据集中化 集中化 • 用户体验能力标准化 • 外部接口标准化 • 营销能力标准化、营销形式个性化 标准化 • 线索清洗评分智能化、智能分流 • 自动化个性精准营销 • 自动化投放追踪 • 营销内容自动分发 • 智能客服 智能化 • 移动端优先、用户体验优先 • 易使用、培训便利化 • 管理多级可视化 • 系统易维护、易扩展开发 便利化 数字营销平台 6 github 个性化推荐引擎 工单管理 线索管理 销售助手 权限管理 客服 中台 电话客服 在线客服 业务 分析 主数据管理 …… 用户行为分析 销售转化分析 活动分析 客服分析 …… 业务智能核心,C2B2C闭环持续优化 第三方 媒体 邮件 车联网 微博 渠 道 数据沉淀-分析-驱动 车 7 github.com/apache?q=servicecomb servicecomb0 码力 | 11 页 | 2.25 MB | 1 年前3
Apache ServiceComb 开源微服务社区服务度量 通信模型 REST 边缘服务 熔断/容错 安全认证 分布式事务 标准契约管理 微服务脚手架 配置治理中心 POJO 编程模型 JAX-RS 编程模型 通信模型 RPC 插件式扩展 开箱即用 编程/通信模型分离 轻量级边缘服务 纯异步内核 内置监控治理 分布式事务方案 标准契约管理 复杂留给自己,极简留给用户 • 跨服务事务一致性 • 多语言,同时选型 • 灵活扩展、定制 • 减少基础设施运 维工作量 为解决微服务化痛点而生 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 无人机管理系统 (单体架构) 地面站 无人机 地面站 地面站 无人机 无人机 无人机 无人机管理系统 (微服务架构) 网关 遥感勘测 航路规划 用户管理 设备控制 分量分析 微服务治理中心 …… 微服务化前 特性上线 性能提升 周级上线 (<2周) 百级TPS、秒级时延 万级TPS、毫秒级时延 月级上线 (>2月) 运维效率提升 人工定位 问题定位时间缩短3倍0 码力 | 15 页 | 2.86 MB | 1 年前3
走进开源 - Apache ServiceComb及patch 有代码库读 写权限 决策子项目 需求和方向 负责整体孵化项 目决策及投票 提议Committer 候选人及孵化器 候选项目 管理与监督基金会 商务与日常事务 • 涉猎领域 人工智能AI IoT 大数据 金融管理 区块链 …… • 未涉猎领域 机器人 自动驾驶 星际探索 也有可能是你的项目 • 注册在美国的非盈利组织 • license的Apache 2.0许可证 代码是社区合作开发的 投票机制管理社区 代表个人行为不代表企业利益 基于尊重、诚实、专注于技术的社区模 式交流 Apache Way Apache治理之道 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb “A community 项目管理委员会(PMC)由来自Redhat、腾讯、亿阳信通、华为等多家企业的活跃社区贡献者组成,共20+Apache Committer,遵循Apache Way,对项目和社区进行开放性协同治理。 开源以来,社区在LC3、KubeCon、Spring Summit、ArchSummit、Qcon、开源中国源创会、Devops沙龙、 OSCAR峰会、传智汇沙龙、IT大咖说、HC华为全0 码力 | 28 页 | 1.92 MB | 1 年前3
ServiceComb java SDK详解RestTemplate Producer 透明RPC JAX-RS SpringMVC • 传输绑架开发模式 • 传输可能对业务代码产生严重的侵入 • 治理逻辑与业务代码或传输耦合,需要针对各种场景独立开发 治理 治理 治理 治理 设计演进 服务契约 (OpenAPI) Transport Highway Servlet Rest Vertx Rest Consumer Consumer 透明RPC RestTemplate Producer 透明RPC JAX-RS SpringMVC 以契约为核心,贯穿始终 • 开发模式(业务代码)、治理、传输三方解耦,互不感知 • 以高性能的Reactive为基础,同时兼容传统的同步开发模式,且支持传统的Servlet传输 LoadBalance …… QPS Trace …… QPS 架构 Common Swagger • 作为整个微服务系统对外的接口,向最终用户提供服务,接入RESTful请求,转发给内 部微服务 • 基于ServiceComb标准consumer流程转发请求到内部微服务,所有consumer治理能力, 不必独立开发,直接重用 ELB Edge Service Backend ...... Edge Service ...... Backend Edge Service-自动路由10 码力 | 21 页 | 1.15 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊上下⽂文 购物⻋车 购物⻋车 产品数据 Mongo 产品服务 上下⽂文 上下⽂文 Redis 去“中⼼心化” - 业务持有数据 去“中⼼心化” - 智能服务⽽而⾮非智能总线 去“中⼼心化” - 智能服务⽽而⾮非智能总线 微服务架构的设计原则 • 竞争能⼒力力平衡 • 围绕业务构建 • “去”中⼼心化 • ⾃自动化“⼀一切” ⾃自动化“⼀一切”- 交付流⽔水线 ⾃自动化“⼀一切”- 容器器部署 映像部署 包部署 ⾃自动化“⼀一切” - 基础设施与部署流程 议题 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统 • 分布式系统复杂性 • 服务的治理理与维护 • 测试策略略与契约测试 • 持续交付流⽔水线 • 基础设施(私有云/公有云) • 持续集成/持续部署流⽔水线 • 团队的敏敏捷/⼯工程化实践 • 端到端的⼯工具链 • API⽹网关0 码力 | 62 页 | 6.65 MB | 1 年前3
解读Apache20年) Apache 项⽬涉猎领域 Apache 项⽬涉猎领域 ⼈⼯智能 AI IoT ⼤数据 ⾦融管理 ⽓候变化 Apache项⽬还没有涉猎的领域[Yet] Apache项⽬还没有涉猎的领域[Yet] 机器⼈ ⾃动驾驶 星际探索 区块链 也有可能是你的项⽬ ASF 提供了项⽬的治理 ASF 提供了项⽬的治理 Apache之道 “Apache之道” 核⼼原则 “Apache之道”0 码力 | 43 页 | 4.89 MB | 1 年前3
Apache ServiceComb 微服务创新项目解读com/apache?q=servicecomb 面对用户痛点持续创新 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 com/apache?q=servicecomb Mesher - 开箱即用的异构、多语言、非侵入式微服务框架 基于Golang实现的高性能服务网格框架,支持零侵入业 务代码实现微服务化改造,与流行微服务框架治理互通 • 项目地址 https://github.com/apache/servicecomb-mesher • 开发计划 - 网关能力 - 融合生态 Istio/Promethues/Skywalking/… acceptance. Huawei may change the information at any time without notice. 把数字世界带入每个人、每个家庭、 每个组织,构建万物互联的智能世界。 Bring digital to every person, home and organization for a fully connected, intelligent world0 码力 | 13 页 | 1.24 MB | 1 年前3
共 32 条
- 1
- 2
- 3
- 4













