深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统深入 Kubernetes 的“无人区” —— 蚂蚁金服双十一的调度系统 曹寅2/19 一、蚂蚁金服的Kubernetes现状 二、双十一Kubernetes实践 三、展望未来迎接挑战 目 录 contents 目录3/19 一、蚂蚁金服的Kubernetes现状 Part 1:4/19 发展历程与落地规模 Part 1:蚂蚁金服的Kubernetes现状 平台研发 灰度验证 单集群规模 90%+ 应用服务 数十万 应用 Pods业务 6/19 统一资源调度架构 Part 1:蚂蚁金服的Kubernetes现状 非云 资源 云化 资源 基础 服务 蚂蚁 k8s 核心 CRI Kubernetes API Server 极速交付 分时复用 弹性容量 资源画像 规模化调度 高可用容灾 可视化 服务 Cluster Control Panel 在线应用 资源分时调度 Part 2:双十一 Kubernetes 实践 快速腾挪的问题 1.实例上下线需要预热 2. 腾挪耗时不可控 3. 大规模腾挪的稳定性技术风险 9/19 资源分时链路切换 Part 2:资源分时调度 Kubernetes Node 分时调度 Agent Pod 资源 Node 分时调度 Agent Pod 资源 Node 分时调度 Agent0 码力 | 19 页 | 2.18 MB | 6 月前3
微博Service Mesh实践WeiboMesh �4 Java Server Java Client Registry Motan ➢ 服务治理理 ➢ 动态路路由 Vintage ➢ 注册中⼼心 Opendcp ➢ 智能弹性调度 Graphite ➢ 实时统计监控 平台微服务相关建设⽐比较完善 Notify Subscribe RegisterService Mesh Meetup · BeiJing 业务部⻔门调⽤用链 RestFul API 业务部⻔门 Motan ➢ 业务部⻔门语⾔言种类繁多 ➢ 微服务体系建设不不完善/重复 ➢ ⽹网络抖动,dns不不稳定 ➢ 4,7层冗⻓长调⽤用链及资源消耗 4,7层调度Service Mesh Meetup · BeiJing 趋势 �6 微博Service Mesh实践 - WeiboMesh 微服务 1 容器器化 2 DevOps 3 云原⽣生 服务治理理Service Mesh Meetup · BeiJing 跨语⾔言服务化⽅方式对⽐比 �11 微博Service Mesh实践 - WeiboMesh Http代理理 RPC模块 Agent代理理 研发成本 低 ⾼高 中 维护成本 低 ⾼高 中 使⽤用成本 低 低 中 治理理功能 中 ⾼高 ⾼高 扩展能⼒力力 低 中 ⾼高Service Mesh Meetup ·0 码力 | 43 页 | 1007.85 KB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘SOFAMosn深层揭秘 奕杉Agenda Ø背景 Ø构架 Ø能力 Ø性能 ØRoadMap背景为什么蚂蚁需要ServiceMesh Ø拥抱微服务,云原生 • SOFA 5规划落地 • 兼容K8S的智能调度体系 Ø运维体系的有力支撑 • LDC • 弹性伸缩 • 蓝绿/容灾/.. Ø金融级网络安全 • 金融级鉴权体系 • 云原生zero trust网络安全趋势 Ø异构语言体系融合 • SO 参与团队分别使用C,Golang,Java等多种技术栈 Ø基于蚂蚁SOFA体系的Mesh化思考 ü 无法保证上下游应用同时升级到Mesh模式 ü 基于RPC内容的流量调度 ü 升级窗口有限,方案必须简单高效 Ø运维体系,容器化建设等方面适配 ü 蚂蚁运维架构建立在流量调度的基础上 ü 容器管理平台更替快速进行中 ØGolang 性能,成本评估符合蚂蚁实际需求2 构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 Event Handler Pool worker worker Worke r data Log Writer Pool send encode Q u e u e C模块划分 11要点总结 12 Ø模块化,分层解耦 Ø统一的编程模型接口 Ø可扩展的事件驱动模型 Ø可扩展的路由/后端管理机制 Ø更好的吞吐量3 能力核心能力 1 网络处理 •网络编程接口 •链接管理 •事件机制0 码力 | 44 页 | 4.51 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享RPC亲和,高度可扩展性 的Golang转发系统 • 开发活跃,最新版为0.4.0 • 蚂蚁+UC主导,重点搭载 SOFAMesh使用,目标服 务通用场景,金融场景SOFAMOSNSOFAMOSN内部模块设计SOFAMOSN数据流SOFAMOSN数据流持续演进路径 & 技术案例能力 0.1.0 0.2.0 0.3.0 0.4.0 Ø TCP代理/7层通用代理 Ø 简单匹配路由 Ø 集群管理 支持必要的admin接口性能 0.1.0 0.2.0 0.3.0 0.4.0 Ø 内存复用框架 Ø Slab style buffer Ø Raw-Epoll模式 Ø 读合并 Ø 协程池化 Ø 调度均衡 Ø SOFARPC深度优化 Ø TLS官方库IO优化 Ø HTTP1.1/HTTP2.0 IO优化 Ø 日志操作异步化&多次合 并 Ø 基于RCU的高性能配置更 新安全 & 可观察性 断开链接 继续读取数据技术案例 – HTTP/2.0优化 官方HTTP/2.0实现问题: 1. syscall read较多,效率低下 2. 每个stream分配单独的goroutine处理, 调度开销高 3. 临时对象多,GC占比高 4. 基本实现了RFC中MUST部分,部分功 能需求上不匹配,如GRPC trailer实现技术案例 – HTTP/2.0优化 优化思路:适配MOSN框架,复用官方实现核心结构体和解析流程0 码力 | 29 页 | 7.03 MB | 6 月前3
蚂蚁金服网络代理演进之路DB2 Region 2 DB3 Region 1 Region 1 DB1 DB2 Region 2 Elastic Region DB3 Elastic DB金融级三地五中心架构的流量调度 spanner LDC01 LDC02 app1 app2 app1 app2 spanner LDC03 LDC04 app1 app2 app1 app2 IDC1 IDC2 再次请求app1 7 跨机房转发 50% 50% • 机房内zone随机路由 • Cookie zone转发 • 蓝绿发布 • 容灾 ØZone内容灾 Ø机房级别 Ø城市级别 • 弹性调度 • 压测 • 灰度蚂蚁金服SSL/TLS实践 合规 性能 安全软硬件一体解决方案 Intel QAT Cavium Nitrox软硬件一体解决方案 SSL握手性能 提升3倍 • 对Spanner实现了异步化改造 国际支付咻一咻与敬业福咻一咻的挑战 亿级用户快速进入 亿级用户同时点击 剩余红包实时显示无线移动网络优化 § 统一通道:主长连接 + 短连接 § 统一协议:MTLS+MMTP § 统一调度:MobileDC 最优调度 网络探测 连接建立 传输+保持 通道复用 复合建连 握手优化 短连补偿 智能心跳 数据压缩 质量模型 自动重试 云端补偿 柔性建连 假连淘汰 动态超时 § 终端策略覆盖移动网络难点0 码力 | 46 页 | 19.93 MB | 6 月前3
Service Mesh的实践分享Daemonset + remote proxy Sidecar(in Pod) Daemonset 对容器的影响 影响大。Pod中增加sidecar容器,加大整个Pod的资源需 求,对K8s的调度形成压力,特别是在资源紧张的情况下; 而且还容器导致资源浪费(sidecar的使用率问题) 影响小。宿主机预留部分资源启动daemonset 即可 运维难度 难度大。Sidecar故障会影响同一个pod的业务容器,同 换的消耗 • 与Java应用在架构上呼应,保持架构的一 致性 • 然而,实际上PHP Thrift效率低比内置 的HTTP模块慢得多 • 性能消耗比JSON转Thrift还要大 • 最终废弃了PHP Thrift模块,直接使用 自带的c写的http模块 + +Daemonset共享模式下Proxy资源的竞争 • Proxy作为资源的一种,隔离性很重要 • 多个Pod共享一个Proxy0 码力 | 30 页 | 4.80 MB | 6 月前3
网易云Service Mesh的产品架构与实现com/pulse/astonishingly-underappreciated-azure-service-fabric-ben-spencer/ Kaola163yun.com 开发独立: 代码耦合度比较高,修改代码通常会对多个模块产生影响,操控难度大,风险高 上线独立: 单次上线需求列表多,上线时间长,影响面大 简化扩容: 由于业务多,每一次扩容需要增加的配置比较杂。一些不起眼的小业务虽然不是扩容的主要目 的,也需要慎重考虑 的,也需要慎重考虑 容灾降级:核心业务与非核心业务耦合,在关键时候互相影响 微服务拆分微服务架构要点 微服务架构 要点 服务发 现 负载均 衡 集群容 错 高可用 配置管 理 调度和 部署 伸缩性 集中化 日志 集中式 监控 分布式 追踪163yun.comwww.163yun.com Dubbo产生背景www.163yun.com Spring Cloud技术栈www0 码力 | 35 页 | 6.33 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践• 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • 可扩展性考虑 • …Kubernetes对于微服务的支撑 功能列表 详情 快速资源分配 容器编排和调度 服务部署&弹性伸缩 Deployment 服务注册&服务发现 Service概念和分布式DNS API网关 简单路由功能 统一日志中心 Fluentd & ES 统一监控中心 Prometheus & gRPC流量代理、熔断、健康检查等功能。 • Mixer 翻译过来是混音器,Mixer负责在整个Service Mesh中实施访问控制和使用策略。Mixer是一个可扩展组 件,内部提供了多个模块化的适配器(adapter)。 • Pilot 翻译过来是领航员,Pliot对Envoy的生命周期进行管理,同时提供了智能路由(如A/B测试、金丝雀部 署)、流量管理(超时、重试、熔断)功能。0 码力 | 28 页 | 3.09 MB | 6 月前3
蚂蚁金服双十一 Service Mesh 超大规模落地揭秘tech SOFAStack: https://github.com/sofastack3 一、Service Mesh 简介 二、为什么要 Service Mesh 三、方案落地 四、分时调度案例 五、思考与未来 目 录 contents ⽬目录4 一、Service Mesh 简介 Service Mesh 简介5 Service Mesh 简介-比较 Pilot 控制面 社区产品 蚂蚁产品6 二、为什么我们要 Service Mesh 为什么要 Service Mesh为什么要 Service Mesh-现状 5.客户端中间件版本的统一 9% 3.流量调度的诉求 18% 4.框架不断升级 14% 2.机器资源逐年增加 27% 1.业务和框架耦合 32%8 因为我们要解决在 SOA 下面,没有解决但亟待解决的: 基础架构和业务研发的耦合 四、分时调度案例 分时调度案例21 分时调度-背景 资源域A 资源域B 资源域A 资源域B X时刻 Y时刻 业务诉求 资源限制 分时调度22 分时调度-方案演进 资源域A 资源域B 资源域A 资源域B 空闲资源 资源域A 资源域B 资源域A 资源域B 保活态 运行态 资源域A 资源域B 运行态 保活态 常规方案操作步骤 分时调度操作步骤23 分时调度-MOSN价值0 码力 | 26 页 | 2.71 MB | 6 月前3
七牛容器云ServiceMesh实践共用边车组件Envoy七牛现有Service Mesh体系 • Istio产品化 • 东西流量产品化 • 南北流量产品化 • TLS管理优化 • Contour增强 • 入口流量管控 • 跨集群调度 • 发展策略 • API版本兼容两种方式 • 数据面优先,控制面按需迭代七牛容器云Service Mesh发展 • 产品发展 • 依托容器云PaaS中台 • 辐射业务线:Spock,Kodo,Dora等 基于Istio的QoS产品化 • 跨集群流量调度 • 基于Istio的Tracing产品化落地场景—大数据产品 • 系统优化之路 • 多版本灰度升级 • 根据流量做横向伸缩 • 分布式系统性能测试问题 定位难 • 解决方案 • Istio南北流量分流策略产品化 • 基于Istio的QoS产品化 • 基于Istio的Tracing产品化 • 跨集群流量调度七牛容器云产品逻辑架构 Kubernetes0 码力 | 15 页 | 3.86 MB | 6 月前3
共 20 条
- 1
- 2













