深入 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
蚂蚁金服网络代理演进之路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结合容器云平台的思考和实践• 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • 可扩展性考虑 • …Kubernetes对于微服务的支撑 功能列表 详情 快速资源分配 容器编排和调度 服务部署&弹性伸缩 Deployment 服务注册&服务发现 Service概念和分布式DNS API网关 简单路由功能 统一日志中心 Fluentd & ES 统一监控中心 Prometheus 翻译过来是领航员,Pliot对Envoy的生命周期进行管理,同时提供了智能路由(如A/B测试、金丝雀部 署)、流量管理(超时、重试、熔断)功能。Pliot接收用户指定的高级路由规则配置,转换成Envoy的 配置,使这些规则生效。 • Istio-Auth 服务间认证和终端用户认证功能Istio的Pilot功能解析Pilot官方架构Istio – EnvoyPilot-Agent的核心流程解读P inject过程中,除了proxy镜像作为sidecar之外,每个pod还会带上initcontainer(Kubernetes中的概 念),具体镜像为proxy_init。proxy_init通过注入iptables规则改写流入流出pod的网络流量规则,使得 流入流出pod的网络流量重定向到proxy的监听端口,而应用对此无感。Init Container的工作原理 istio/tools/deb/istio-iptables.sh0 码力 | 28 页 | 3.09 MB | 6 月前3
Apache SkyWalking 在 Service Mesh 中的可观察性应用Tetrate 创始工程师Who 高洪涛 美国S ervice Mesh 服务商 Tetrate 创始工程师。原华为软件开发云技术专家,对云原 生产品有丰富的设计,研发与实施经验。对分布式数据库,容器调度,微服务, ServicMesh 等技术有深入的了解。 目前为 Apache ShardingSphere 和 Apache SkyWalking 核心贡献者, Istio 贡献者。 1/28/01 Mixerless Service App without version 同左 Instance Work load 同左 Endpoint Path - 26/28维度匹配-service 命名规则 Version|App|Namespace|Cluster v1|projuctpage|bookinfo|product-demo 27/28感谢聆听 欢迎关注,获取最新分布式架构内容 关注服务网格,关注0 码力 | 29 页 | 1.38 MB | 6 月前3
Service Mesh的实践分享Daemonset + remote proxy Sidecar(in Pod) Daemonset 对容器的影响 影响大。Pod中增加sidecar容器,加大整个Pod的资源需 求,对K8s的调度形成压力,特别是在资源紧张的情况下; 而且还容器导致资源浪费(sidecar的使用率问题) 影响小。宿主机预留部分资源启动daemonset 即可 运维难度 难度大。Sidecar故障会影响同一个pod的业务容器,同 和容器并存,内部需求必须要 同时支持物理机和云 • 绑定K8s能够享受K8s的红利, 但也限制了使用范围 +服务治理程度更接地气 • 不停的迭代、落地、反馈,打 造一系列的实用的治理功能 • 规则路由、标签路由、邻近机房 路由、Hash路由、基于权重的路 由、熔断、健康探测、超时重试、 限流降级等等 • 契约化治理,服务接口变更diff并 通知上游 • 环境无关,物理机、云、测试机0 码力 | 30 页 | 4.80 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数据平面 SOFAMosn深层揭秘SOFAMosn深层揭秘 奕杉Agenda Ø背景 Ø构架 Ø能力 Ø性能 ØRoadMap背景为什么蚂蚁需要ServiceMesh Ø拥抱微服务,云原生 • SOFA 5规划落地 • 兼容K8S的智能调度体系 Ø运维体系的有力支撑 • LDC • 弹性伸缩 • 蓝绿/容灾/.. Ø金融级网络安全 • 金融级鉴权体系 • 云原生zero trust网络安全趋势 Ø异构语言体系融合 • SO 参与团队分别使用C,Golang,Java等多种技术栈 Ø基于蚂蚁SOFA体系的Mesh化思考 ü 无法保证上下游应用同时升级到Mesh模式 ü 基于RPC内容的流量调度 ü 升级窗口有限,方案必须简单高效 Ø运维体系,容器化建设等方面适配 ü 蚂蚁运维架构建立在流量调度的基础上 ü 容器管理平台更替快速进行中 ØGolang 性能,成本评估符合蚂蚁实际需求2 构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 G-P-M data locality亲和性 ü 整体性能提升约 30% Ø内存 ü SLAB-style buffer pool ü 内存优化 ØIO ü IO 优化 ü IO 均衡 Ø调度 ü P调度均衡 ü 池化 worker 协程 Ø其他 ü Log 优化 ü Codec 优化:减少解包等绑核 2 Ø单核绑核 runtime 执行性能更好 ü单次写操作绑核 3us,不绑核 5us0 码力 | 44 页 | 4.51 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享支持必要的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框架,复用官方实现核心结构体和解析流程 Stack内存开销 u Read buffer开销 u Runtime调度开销 参考阅读:million-websockets-and-go Netpoll implmented in Golang runtime conn goroutine conn.read conn goroutine conn.read …… 调度切换/就绪通知技术案例 – 长连接网关RawEpoll模式 R0 码力 | 29 页 | 7.03 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 云原⽣生 Mesh Meetup · BeiJing Weibo Mesh 控制⾯面 �24 微博Service Mesh实践 - WeiboMesh ➢ 策略略扩展:Filter Chain ➢ 流量量调度:MCS(Mesh Command System)Service Mesh Meetup · BeiJing Motan Filter Chain �25 微博Service Mesh实践 -0 码力 | 43 页 | 1007.85 KB | 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
共 25 条
- 1
- 2
- 3













