vivo微服务架构实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. vivo 微服务架构实践 罗亮 vivo 互联网中间件平台负责人
2. 目录 01 从0到1的 微服务架构 工程实践
3. 为什么需要微服务及落地挑战 业务复杂度高 可扩展性差 用户规模大 迭代速度快 故障范围不可控 微服务 变更效率低 2015 高可用保障难 上下游协作成本高 性能与体验优化难 建设配套的微服务架构技术体系
4. 微服务架构的主要业务场景分析 快 RPC框架 注册中心 好 异步调用 消息中间件 定时任务 分布式 任务调度 微服务架构的 同步调用 三大核心 业务场景 服务治理
5. vivo微服务架构最佳实践总结–架构能力矩阵 DevOps 开发 运维 Metric 架 构 分 层 Trace Log 同城双活 异地多活
6. 微服务平台能力地图 四层流量网关 接入层 可观测 七层微服务API网关 监控中心 服务层 服务/流量治理平台 任务调度 配置中心 注册中心 消息层 框架层 存储层 接口管理平台 调用链 消息中间件 脚手架 日志SDK 配置SDK RPC框架 限流/熔断SDK MySQL/Redis SDK DaaS平台 MySQL Redis ElasticSearch 日志中心 MongoDB 文件服务 截止2019年,vivo基本完成了从0到1的微服务平台能力烟囱式建设 CICD CMDB
7. 快速能力构建背后的开源组件 微服务API网关 配置中心 注册中心 流量治理 RPC框架 消息中间件 任务调度 感谢开源社区赋能,助力vivo微服务架构技术体系从0到1的快速构建
8. vivo微服务当前现状 vivo微服务核心数据 5 亿+ 万 级 十万 级 60 + 8000 亿 千万 级
9. 目录 02 微服务 引擎升级与 统一平台建设
10. 微服务引擎的问题与挑战 注册中心和配置中心 方向 注册中心 可用性 技术基石 性能&容量 研发运维 选举期间 不对外提供服务;网络分区或不可用节 点数>1/2,集群不可用 写性能无法水平扩展 跨机房多活 接口级注册模型注册数据量大, 业务高频变更期间网卡带宽超过 1000Gbps , 功能&安全 权限管控能力弱, 业务易混用, (ZooKeeper) , 配置回滚慢, 故障半径大 一致性时效 不满足要求 研发运维成本高 运维成本高 订阅通知可能会丢失, 负载不均衡 定时生效 配置中心 业务研发流程打通 加解密能力缺失 访问通道安全问题 微服务底层引擎在内部业务场景存在较多的可用性、性能&容量、研发运维、功能&安全等问题与挑战
11. 微服务引擎–注册中心技术升级方案分析 Dubbo框架应用级服务发现 注册中心方案分析 适应云原生,支持更大规模 维度 降低 内存消耗,降低 50% 90%的存储与推送压力,从架 构上支持百万实例集群规模 方案说明 AP特性(可用性+分区容错性) 可用性 跨机房多活, 性能& 容量 具备较好的读写性能 Session+Data读写分离 研发运维 方案 较好的水平扩展能力 同一套注册中心 方案 服务发现模型从接口级升级为应用级 AP特性 Session+Data分离架构 读写流量隔离 Dubbo应用级服务发现 , Session+Data分离
12. 落地应用级服务发现和Session+Data分离架构 Dubbo业务 原ZK注册中心 Dubbo业务 vns-session 原ZK注册中心 Dubbo业务 Dubbo应用级服务 发现模型升级 新ZK集群 应 用 级 注 册 vns-session vns-session 数据 交互 vns-data 方案存在耦合问题 建设进度依赖问题 无法实现ZK注册中心下线 数据 交互 数据 交互 回滚依赖问题 vns-data vns Session+Data 分离建设 vns-data 兼容ZK协议,最大限度保障业务的平滑升级,切换方案可灰度可回滚可观测,减少升级成本和项目落地风险,最终实现ZK注册中心下线
13. 微服务引擎-配置中心技术升级方案分析 cfg-portal 应用配置 cfg-proxy 服务治理 API网关 cfg-api 统一配置通道 注册中心 DB 配置管理收敛,建设一键审批/审计/回滚能力 cfg-address cfg-agent 配置SDK client 1 配置管理 2 3 收敛统一 能力增强 业务无感升级,兼容 平滑升级 RPC框架 网关SDK
14. 烟囱式微服务平台的问题与挑战 10+个模块10+个入口 平台易用性低 公共能力重复对接 问题定位效率低下 1 接口管理 平台 配置中心 独立重复对接 注册中心 2 Dubbo 服务治理 研发框架 微服务 微服务 网关 云平台 审计日志分散,不便于快速定位 单点 登录 权限 工单 问题 监控 CMDB bRPC 服务治理 流量治理 平台 …… 分布式 任务调度 10+个微服务模块 烟囱式微服务平台存在多入口,功能重复对接,运维、研发成本高,故障排查与恢复效率低,易用性不足等问题
15. 烟囱式微服务平台用户使用现状分析 1.72% 0.17% 0.31% 配置中心用户 访问数据 17.18% 0.15% 2.74% 0.12% 2.74% 0.06% PV 84.06% 服务治理用户 访问数据 2.55% 8.62% PV UV 10.59% 1.80% 0.30% 1.21% 34.73% 82.01% 2.66% 1.72% 55.15% 技 术 依 赖 程 度 7.57% 9.85% 15.39% 注册 中心 2.77% 53.83% 配置 中心 服务治理 UV 平台产品用户使用频率
16. 统一微服务平台能力建设 配置 中心 注册 中心 分布式 任务调度 API 网关 Dubbo 服务治理 bRPC 服务治理 更多 模块 以配置中心/注册中心为底座 建设统一微服务平台 CICD等研发平台 系统 联动 微服务平台 平台间联动 提升持续 服务 CICD等研发平台 一键审批、一键回滚 成本
17. 引擎升级&统一平台能力建设 统一平台建设 统一微服务平台能力建设 应用级注册模型升级 注册中心引擎升级 引擎升级 配置中心引擎升级 高可用保障
18. 目录 03 微服务 架构升级的 总结与展望
19. 拥抱开源,迭代业务适用的技术平台 开源 开源+自研 拿来主义 实用主义 误区:为什么不完全自研 业务快速发展, 不闭门造车,站在巨人肩膀上, 反馈给社区 引入优秀特性来支撑
20. 中间件组件的全生命周期管理 业务诉求 分析 业务追求更高的迭代交付效率 快速引入新技术 助力业务创新 底层技术 特点分析 对组件的性能容量 要求越来越高 技术成熟需要经历的 多个阶段 缺乏约束的技术腐化 必然导致技术债务 技术升级的长周期 重复建设的效率问题 足够稳健的底层技术能力才能更好支撑业务高效迭代。 如何兼顾效率与质量? 阶段 价值共识 组件洞察 组件扫描 组件标准化治理&运营(有规范、补短板) 新技术引入 版本治理 成熟度管理 策略 践行宽入严出策略,通过完善的中间件组件全生命周期管理助力业务跑的更快,走的更远
21. 引擎升级探索 探索和落地ServiceMesh/Serverless/存算分离等云原生技术 效率痛点问题 成本痛点问题
22. 从DevOps到平台工程,团队协作理念再升级 平台团队 负责平台建设 DEV OPS 平台工程 业务团队 负责业务研发 DevOps是一种文化、方法论 理念 平台工程是一种最佳实践 定义 自助式内部 开发者平台 存在问题 ”中心化与去中心化取舍问题 团队的认知负荷 无法 大大增加了业务开发 屏蔽底层基础设施复杂性 特点 平台团队隐藏和抽象底层基础设施的复杂性 不断反馈 持续改进 自助化产品能力 简单易用平台产品
23. 平台建设探索 当前 展望 明确的北极星指标 沉淀 技术知识与最佳实践 业务 自助化 更高的研发效率 单位时间代码产出 更好的开发者体验 用户打断次数 平台问题人工支撑次数 以开发者用户为中心, 覆盖IDE+PaaS的平台工程实践路径,
24. Thanks

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-16 16:26
浙ICP备14020137号-1 $Carte des visiteurs$