微服务环境下的系统治理与容错
微服务环境下的系统治理与容错 王新栋 • 《架构修炼之道》作者,《决战618:探秘京东技术取胜之道》联合作者; • 对分布式、微服务系统有多年实战经验,所设计和研发的系统经历了多次百亿流量的验证; • 热爱分享,维护技术公众号 [程序架道],对高并发、高可用系统有持续不懈的追求; 个人微信号 技术公众号 • 微服务架构 • 容错 • 总结 • 治理 微服务架构 架构 架构 研发团队的持续斗争 研发团队必须从公司长远利益出发与其他部门抗争 -- Robert C. Martin 多种架构思想的本质 分层架构思维到六边形架构思维 业务领域代码 基础设施代码 再看六边形架构 治理 微服务到底需要多“微” 微 微服务的“微”暗示了服务的大小,但实际上微服务架构对构成的服务实例并没有大小方面的要求。 微服务的微 微服务的两个“谬论” n 服务之间是强隔离的。 n 微服务是大型系统的唯一选择。0 码力 | 45 页 | 16.09 MB | 1 年前3开源开发者的一天 - Apache ServiceComb
member • 350+ 开源项目, 50+ 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 Apache软件基金会 涉猎领域 • 人工智能AI • IoT • 大数据 • 金融管理 • 区块链 • …… 未涉猎领域 • 机器人 • 自动驾驶 • 星际探索 • 也有可能是你的项目 [社区网站] http://servicecomb license的Apache 2.0许可证 代码是社区合作开发的 投票机制管理社区 代表个人行为不代表企业利益 基于尊重、诚实、专注于技术的社区模 式交流 Apache Way Apache治理之道 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb “A community http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 回顾开源本质 • 开源的本质是中立、开放、协同治理 • 开源开发是一个相互信任、相互协作的过程 • 开源项目是最好的创新、展现自我的场所 • 选择一个开源项目从最基础的贡献开始 [社区网站] http://servicecomb.apache0 码力 | 31 页 | 2.02 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 尖峰开源人物奖 首个行业微服务标准 的核心参考框架 获中国电子标准院 中国优秀开源项目 一等奖 2012 2017.6 2018.10 2018.3 2019.1 信通院《开源产业白皮书》: 安全合规业界领先, 成国内三成企业首选 2019.7 2019.8 发布5大 创新项目 2019.10 2019.4 首次接受企业 捐赠的项目 招贤纳士 壮大社区 未来 成为国际化标准、 权威评测认证…0 码力 | 28 页 | 1.92 MB | 1 年前3消费者云CSE微服务实践
成透明的API契约调用 服务自治:通过在线的微服务治理结合云平台,可以实现微服务的弹性伸缩、故障自劢 迁移、降级熔断等,保障微服务的运行质量,提升业务SLA 建立服务化团队:随着业务的丌断拆分,大的研发团队也会被拆分成2-Pizza Team, 微服务团队由3-5人组成,负责整个微服务的设计、开发、测试、部署运维和治理,通过 全功能团队的建设,让业务真正敏捷起来 微服务框架技术选型-支持多语言 理 微服务框架技术选型-微服务安全 有些业务场景对微服务调用安全要求较高,需要微服务框架支持 SSL传输、API鉴权和认证等 对于一些敏感信息,例如用户账号、金额等,在记录日志等落盘 和采集时需要做脱敏处理、资源占用要合理 敏感运维操作,需要记录安全日志,例如服务上线和下线、服务 的流控阈值修改等 微服务框架技术选型-服务治理能力 服务框架丌能只单单解决分布式RPC调用、服务注册&发现和路 服务框架丌能只单单解决分布式RPC调用、服务注册&发现和路 由问题,更重要的是业务微服务上线乊后,需要提供实用和丰富 的在线治理能力 流量控制、幵发控制、超时控制、服务降级、服务熔断、路由权 重调整… 常用的服务治理能力要内置到服务框架中,业务领域强相关、非 通用能力可以通过扩展点实现 微服务框架技术选型-易集成 当前业务使用Spring MVC等传统的单体架构,希望可以较平滑、0 码力 | 22 页 | 1.39 MB | 1 年前3微服务创新新品发布
servicecomb.apache.org 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 分布式系统配置中心 服务中心异构通信 https://github.com/go-mesh/mesher (正在迁移到Apache ServiceComb) 使用服务网格Mesher接入多语言,和编程框架统一治理 关键组件 - Control panel - Registry - Protocol - 监控 - 安全 拥抱生态 - ServiceComb - Istio - Promethues - Zipkin - 华为云 异构基础设施 - CCE - q=servicecomb servicecomb.apache.org servicecomb-fence 提供了基于Oauth2.0和OpenID Connect的微服务架构认证鉴权框架,帮助用户快速搭建高性能、安全的 微服务认证鉴权能力 • 开箱即用:提供了默认的Authentication Server、Edge Service、Resource Server实现,简化用户开发难度 • 开发简单:提供配0 码力 | 12 页 | 2.96 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 年前3Apache ServiceComb 开源微服务社区
分布式追踪 动态配置 服务注册 服务度量 通信模型 REST 边缘服务 熔断/容错 安全认证 分布式事务 标准契约管理 微服务脚手架 配置治理中心 POJO 编程模型 JAX-RS 编程模型 通信模型 RPC 插件式扩展 开箱即用 编程/通信模型分离 轻量级边缘服务 纯异步内核 内置监控治理 分布式事务方案 标准契约管理 复杂留给自己,极简留给用户 • 跨服务事务一致性 • 为解决微服务化痛点而生 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 项目 库 …… 统一基础 数据规范 统一财政 业务数据 标准存储 统一应用 支撑平台 总账结构 统一纵向 层级交换 机制 统一信息 安全体系 软件开发服务 ServiceStage 大数据服务 系统集成服务 IaaS(计算、存储、网络、安全) 中间件服务 标准与规范 应用全微服务化,接口标准由财政厅统一管控, ISV只需聚焦微服务交付,降低依赖性 统一业务模型和数据集成标准,系统无缝对接,0 码力 | 15 页 | 2.86 MB | 1 年前3NTTDATA 汽车行业数字营销平台微服务化实践
线上渠道 主机厂/经销商入口 业务 中台 (核心) 其他系统 DMS 第三方 电商 会员体系 安全体系 协同平台 价值体系 流程体系 第三方渠道 展会 数字 展厅 PC门户 企业微信 官网 短信 小程序 公众号 标准体系 标签体系 数据 中台 …… 存储服务 安全服务 接口网关服务 日志服务 网络服务 …… 短信服务 技术 中台 ……. 消费者互动数据 消费者账号 CRM 业务数据 服务中心 配置中心 治理中心 IT运维 日志可视化 (华为云) CDN/ WAF 资源监控预警 (华为云 AOM) 营销平台 接口服务 消息 REST NAT网关 NAT gateway 4核8G 按需扩容 4核8G 按需扩容 Nginx 按需扩容 My SQL 高 可 用 安全组隔离 安全组隔离 安全组隔离 ELB C端流量 8 github UAT和PROD使用CSE企业版; 本地开发和SIT使用本地轻量级CSE服务 服务中心 (>Eureka) 配置中心 (etcd增强) 治理中心 (Hystrix+Rib bon增强) 新业务 数据库 华为云CSE介绍 Apache ServiceComb 公有云对接能力 安全管理 分布式数据一致 性 REDIS 缓存 OBS存储 缓存 X-API_KEY HTTPS/HTTP 服务注册0 码力 | 11 页 | 2.25 MB | 1 年前3Apache ServiceComb 微服务创新项目解读
q=servicecomb 面对用户痛点持续创新 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 com/apache?q=servicecomb Mesher - 开箱即用的异构、多语言、非侵入式微服务框架 基于Golang实现的高性能服务网格框架,支持零侵入业 务代码实现微服务化改造,与流行微服务框架治理互通 • 项目地址 https://github.com/apache/servicecomb-mesher • 开发计划 - 网关能力 - 融合生态 Istio/Promethues/Skywalking/… https://github.com/apache?q=servicecomb Fence - 微服务认证鉴权框架 提供基于Oauth2.0和OpenID Connect的微服务架构认证鉴权框架,帮助用户快速搭建高性能、安全的微服务认证鉴权能力 • 项目地址:https://github.com/apache/servicecomb-fence 多种应用 场景支持 对接第三方认 证鉴权服务 多种认证 模式支持0 码力 | 13 页 | 1.24 MB | 1 年前3ServiceComb介绍
服务注册 服务度量量 通信协议 (Rest&RPC) 边缘服务 熔断/容错 Token认证 Saga事务⼀一致性 服务契约 平滑上云 拥抱开源⽣生态 处理理链 微服务脚⼿手架 服务安全 治理理UI ⾃自动部署 监控运维 Public Cloud …… SpringCloud SpringBoot Istio Apollo Skywalking Zipkin Prometheus K8S 对接⾏行行业解决⽅方案 ServiceComb项⽬目介绍 • Java Chassis • ⾼高性能的微服务框架,提供服务注册发现以及动态配置管理理,以及限流降级,容错熔 断等服务治理理功能 • Service Center • 基于Etcd⾼高性能,⾼高可⽤用服务注册中⼼心 • Saga • 微服务事务最终⼀一致性问题解决⽅方案 • 提供⼀一个集中式的事务协调器器,0 码力 | 16 页 | 877.58 KB | 1 年前3
共 29 条
- 1
- 2
- 3