快手微服务架构体系实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 快手微服务架构体系实践 魏诗白 微服务架构师
2.
3. 发展历程简述 1. 流量治理 1. 自研RPC 2. 故障演练 2. 自研配置中心 3. 流量录制 3. 精细化治理 ZK时代 KESS诞生 体系初成 2017前 2017 2019 成熟架构 2021
4. 快手微服务现状 数万服务 数百万服务实例 数十亿QPS
5. KESS STACK : 组织角度下的微服务架构 微服务平台 KESS-NAMING KESS-META 稳定性保障 微服务框架 KESS-CONF KESS-RPC 容错框架 KsBoot 中间件SDK 可观测性 Ktrace KAlert RPC-Monitor 服务网格 KLog Gaea运维面 Envoy数据面 xDS适配层 链路加固 流量治理 全链路压测 流量录制回放 混沌工程 流量调度
6. 微服务治理体系建设思路 组织架构 体系架构
7. 微服务治理体系建设思路 领域抽象 建设思路 重点突破 阶段一 阶段二 阶段三
8. 第一阶段:核心逻辑领域抽象 命名体 系 可观测 性 配置管 理 服务治 理 流量治 理 高可用 服务安 全
9. 第一阶段:逻辑域的核心能力 命名规范 服务配置 容错机制 认证机制 就绪检查 指标采集 服务注册 中间件配置 路由调度 授权机制 健康检查 日志采集 服务发现 平台配置 负载均衡 传输加密 平滑上下线 Tracing 灰度机制 参数校验 服务降级 报警治理 机房容灾 性能诊断 元信息管理 流量标记 弹性伸缩 命名域 配置域 流量域 安全域 高可用域 监控域
10. 第一阶段:软件生命周期的能力交付
11. 第一阶段:服务治理体系 • 能力层:6个垂直领域 • 载体层:实现单元 • 基础设施层:双向作用
12. 第二阶段:分层建设与重点发展 重点问题 1. 2. 3. 问 题 域 1. 2. 1. 2. 逻辑域 流量治理功能成熟度不足 精细化治理缺失 路由调度能力不足,缺少如全链 路灰度等高阶能力 流量域 中间件/服务命名混沌,多平台打 通困难 注册中心不统一 命名域 缺少自动化机房级流量容灾能力 K8S/服务治理健康检查机制不统一 高可用域
13. 第二阶段:分层建设与重点发展 上层领域 安全域 元信息查询 下层领域 命名域 流量域 统一命名 命名域 高可用域 配置管理 配置域 运行时指标 监控域
14. 第二阶段:分层建设与重点发展 高阶能力 全链路灰度 单元化建设 链路加固 中坚能力 流量治理 高可用建设 安全建设 基石能力 命名体系 配置管理 元信息治理 … 可观测性建设
15. 第三阶段:重点领域建设 流量域 高可用域
16. 第三阶段:流量域建设 – 体系总览
17. 第三阶段:流量域建设 – 重点方向 服务容错体系 熔断限流 服务降级 超时治理 依赖治理 流量调度体系 过载保护 区域感知能力 分组隔离能力 负载均衡 CPU动态调权 标签路由能力
18. 第三阶段:流量域建设 – 服务容错 核心问题 主要困难 方法论 • 历史包袱重 • 能力收敛/统一难 • 分阶段建设 • 多语言问题 • 治理成本高 • 工具化建设 • 业务工况多 • SOP化建设
19. 第三阶段:流量域建设 – 服务容错 全景图 容错框架诞生 流量治理平台 能力下沉 引入报警体系 开启网格建设 链路加固产品 诞生 2019.7 2019.12 2020.04 2020.08 2020.10 2021.02 能力统一/下沉阶段 产品化阶段 引入监控指标 2021.04 SOP化建设 常态化建设 2021.10 2022.04 体系化阶段
20. 第三阶段:流量域建设 – 服务容错 链 路 加 固 系 统
21. 第三阶段:流量域建设 – 服务容错 建设成果 业务价值 • 覆盖公司80%业务场景 • 降低业务在稳定性投入成本90% • 成为稳定性加固标准方案 • 年化故障规避次数100+
22. 第三阶段:流量域建设 – 流量调度 核心问题 主要困难 方法论 • 早期功能单一 • 替换成本高 • 抽象路由模型 • 环境层级混乱 • 特殊/错误使用较多 • 统一环境标准 • 单机流量不均衡 • 分层调度治理
23. 第三阶段:流量域建设 – 流量调度 全景图 路由模型抽象 路由调度平台 统一流量标记 透传机制 2021.04 2021.08 2021.09 基础架构阶段 静态分组路由 自适应区域感 知路由 动态调权机制 2021.10 2021.11 2021.12 能力沉淀阶段 全链路灰度 2022.02 全链路分组路 由 2022.04 成熟化演进阶段 单元化调度 2023.x
24. 第三阶段:流量域建设 – 流量调度 自适应区域感知路由 过去 AZ - 1 X% 现在 AZ - 2 100-X% 入口应用A AZ - 1 • 计算同Region不 AZ - 2 X% 同AZ的实例数比 入口应用A • 主被调同AZ健康 入口应用A 实例比 区域计算 应用B 应用B 应用C 应用C 应用B 应用B 应用C 应用C
25. 第三阶段:流量域建设 – 流量调度 CPU动态调权 指标处理系统 调权系统 指标采集 业务进程 CPU上报 Redis 数据存储 数据过滤器 Kafka消费者 权重调整 权重计算器 注册中心 权重调整器
26. 第三阶段:流量域建设 – 流量调度 成本收 益 多租户 隔离 业务 价值 机房容 灾 减少变 更故障
27. 第三阶段:高可用域建设 – 领域总览 单实例故障自愈 服务高可用建设 机房容灾建设 K8S健康检查 无损上下线 中间件切流管控 RPC健康检查 弹性伸缩 跨机房调度 离群实例摘除 混沌工程 服务降级 全链路压测
28. 第三阶段:高可用域建设 全景图 弹性伸缩 RPC健康检查 机房容灾调度 无损上下线 2020.01 2021.04 2021.12 2022.04 基础架构阶段 K8S统一健康 检查机制 离群实例摘除 单元化建设 2022.05 2022.06 2023.X 能力沉淀阶段 机房级演练 2023.X 成熟化演进阶段
29. 第三阶段:高可用域建设 单实例故障自愈解决方案
30. 第三阶段:高可用域建设 RPC健康检查机制 客户端 服务端 被动检查 接口A 接口B 用户请求 接口C Metric统计 业务接口 恐慌判断 恐慌机制 实例状态 更新状态 线程池状态 Load状态 CPU状态 IO状态 获取状态 HC请求 主动检查 HC接口
31. 第三阶段:高可用域建设 离群实例摘除
32. 未来1-2年领域规划 大规 模化 精细 化 成熟 化 •历史包袱清理 •核心能力升级 •多语言对齐 •多粒度流量治 理 •场景化覆盖 •单元化调度 •产品力提升
33.
34. 第三阶段:流量域建设 - 路由调度 统一流量标识透传机制 注入上下文 流量类型 入口服务 K-V标识传递 透传 透传 标准SDK 多语言支持 透传 读取上下文 K-V获取 流量识别 监控埋点 规则定义 透传
35. 第三阶段:流量域建设 - 路由调度 路由模型抽象 • • 基本规则 • 优先级机制 • 回滚机制 • 多级回落机制 路由表 路由规则1 匹配 内置规则 • 分组路由 • Locality-Aware路由 • 直连路由 路由规则2 匹配 路由规则3 路 由 规 则 链
36. 第三阶段:流量域建设 - 路由调度 核心流量调度能力 动态 调权 AZ级 调度 分组调度
37. 微服务平台 基础系统 服务发现 服务注册 元信息管理 配置中心 服务查询 服务管理 服务创建 权限管理 服务登记 资源查询 映射关系 统一命名 接口管理 GIT CICD 服务注册发现领域 监控告警领域 流量治理领域
38. 微服务框架 服务发现 配置中心 元信息中心 服务注册 服务预热 优雅停机 路由调度 负载均衡 服务治理 访问控制 配额管理 过载保护 可观测性 健康检查 元信息接口 可观测性 服务端功能 客户端功能 熔断器 限流器 重试器 隔板 集中式限流 自适应限流 Metric工具 KSF框架 在线调试 协议转发 元信息查询 事件推送 LB-Server KESS-RPC ADMIN
39. 可观测性 Tracing Metric Perf/Clickhouse RPC-Monitor TSDB Promtheus Logging Klog Access-log Sentry Trace-Log KTrace
40. 稳定性保障
41. 服务网格 数据面 控制面 运维面 Gaea-Agent xDS-Server Gaea-Portal 托管 Envoy 订阅配置 UDS KESS-CONF SDK POD 订阅路由 KESS-Registry 配置下发 CICD 可观测性 运行大盘 热部署
42.
43. 快手微服务现状 研发效能 稳定性保障 运维成本 • 微服务框架 • 链路加固 • 可观测性 • 微服务平台 • 全链路压测 • 报警推送 • 统一命名 • 自动化测试 • 流量容灾 • 多语言统一 • 故障演练

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-23 19:09
浙ICP备14020137号-1 $Map of visitor$