蚂蚁金服Service Mesh渐进式迁移方案
Meetup #4 上海站 蚂蚁金服Service Mesh 渐进式迁移方案 2018.11.25 敖小剑 @ 蚂蚁金服 中间件 龙轼 @UC 基础研发部1 Service Mesh演进路线 1 2 实现平滑迁移的关键 3 DNS寻址方案的演进 4 5 总结 DNS寻址方案的后续规划ü 对未来长期目标的认可 • Service Mesh(带控制平面,如Istio) • Kubernetes 1 1 1 2 2 2 3 4 4 4 比较理想,绝大部分 投入最终都将保留 Service Mesh (Sidecar模式) Service Mesh (Istio模式) 带完善的控制 平面,如Istio 只有Sidecar, 直接集成周边 不现实 Istio的非k8s支 持投入产出比 太差 背景1:原生Istio无法支撑我们的规模 背景2:k8s(Sigma3 ü 结论: • 不符合蚂蚁的远期规划(k8s是我们的既定目标) • 会造成投资浪费(k8s铺开在即) 演进路线2分析 部署在 非k8s上 Service Mesh (Sidecar模式) 部署在 非k8s上 Service Mesh (Istio模式) 2 2 2 部署在K8s上 Service Mesh (Istio模式) 部署在 非k8s上 不是Service Mesh形态ü0 码力 | 40 页 | 11.13 MB | 5 月前3Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?
: - Service Mesh产品动态 - Service Mesh发展趋势 - Service Mesh与云原生 今天的内容可以视为是上次演讲部分内容的深度展开,如社区 关心的Mixer v2,以及我个人看到的一些业界新的技术方向, 如web assembly技术,还有产品形态上的创新,如google traffic director对servicemesh的虚拟机形态的创新支持。 在S 维护Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Mixer v1 架构的优点 • 集中式服务: • 提高基础设施后端的可用性 • 为前提条件检查结果提供集群级别的全局2级缓存 • 灵活的适配器模型,使其以下操作变得简 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? 蚂蚁先行一步 Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Istio社区的Proposal Mixer V2 Architecture https://docs.google.com/document/d/1QKmtem5jU_2F3Lh5SqL p0IuPb80_70J7aJEYu4_gS-s/edit#heading=h.hvvcgepdykro Owner:0 码力 | 43 页 | 2.90 MB | 5 月前3大规模微服务架构下的Service Mesh探索之路
Sofa Mesh架构 1. 用Golang开发 Sidecar,替代Envoy 2. Mixer被部分合 并进入Sidecar 3. Pilot/Auth 做扩展和增强 Control plane Control plane Data plane Data plane Mixer架构设计 Architect2Golang版Sidecar Pilot Auth Golang Sidecar Sidecar Mixer XDS API Mixer Service HTTP/1.1 HTTP/2 Sofa RPC ü 参照Envoy的设计 ü 实现XDS API ü 兼容Istio ü 支持HTTP/1.1和HTTP/2 ü 扩展Sofa/Dubbo/HSF Dubbo RPC HSF RPC最大的改变:合并部分Mixer功能 Pilot Auth Mixer Golang Cache的详细介绍和源码解析 • Mixer Cache: Istio的阿克琉斯之踵? • Istio Mixer Cache工作原理与源码分析(1)-基本概念 • Istio Mixer Cache工作原理与源码分析(2)-工作原理 • Istio Mixer Cache工作原理与源码分析(3)-主流程 • Istio Mixer Cache工作原理与源码分析(4)-签名 更多资料,深入了解Report部分的隐忧:网络集中0 码力 | 37 页 | 7.99 MB | 5 月前3蚂蚁金服网络代理演进之路
Spanner APP APP APP APP Keycenter HTTP1 TLS1.2 MMTP Mtls MQTT HTTP2 TLS1.3 QUIC 国密 硬件加速 安全合规 Spanner LVS(四层负载) DNS LDC2 Spanner Spanner APP APP APP APP Keycenter 硬件加速 安全合规 亿级用户同时在线 千万级每秒RPC请求 Region 1 DB2 Region 1 Region 1 DB1 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 LDC03 LDC04 app1 app2 app1 app2 IDC1 IDC2 1 首次请求app1 2 随机分流 3 uid转发目标zone 4 响应请求 5 写入cookie 6 再次请求app1 7 跨机房转发 50% 50% • 机房内zone随机路由 • Cookie zone转发 • 蓝绿发布 • 容灾 ØZone内容灾 Ø机房级别 Ø城市级别 •0 码力 | 46 页 | 19.93 MB | 5 月前3Service Mesh的延伸 — 论道Database Mesh
App2 DB App1 App3 App2 DB1 DB2 DB3 App1 App3数据分片:引入中间件 App1 M1 App2 App3 S2 M2 M3 S1 S3 数据库中间件 write sync read读写分离 S App1 M App2 App3 write sync read数据分片 + 读写分离 App1 S1 App2 App3 App3 M2 sync read S2 S3 M1 M3 write数据分片 + 读写分离:引入中间件 App1 M1 App2 App3 S2 M2 M3 S1 S3 数据库中间件 write sync read分布式事务:定义 传统事务:ACID Atomicity - 原子性 Consistency - 一致性 Isolation - 隔离性 Durability Sphere 业务代码 Sharding- Sphere 应用 应用 注册中心Sharding-Sphere:APM演进线路图 JDBC + 数据分片 版本:1.X 数据库治理 版本:2.X Proxy 版本:3.0.X 分布式事务 版本:3.1.X Sidecar 版本:4.0.X 多数据副本 版本:4.1.X 弹性伸缩 版本:4.2.X 已完成 图例: 进行中0 码力 | 35 页 | 4.56 MB | 5 月前3蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘
云原生zero trust网络安全趋势 Ø异构语言体系融合 • SOFA/NodeJS/C++/Python/.. • 业务低成本融入服务,运维体系为什么要自研Golang版本ServiceMesh 2 Ø跨团队协作需要考虑技术栈落地成本 ü 参与团队分别使用C,Golang,Java等多种技术栈 Ø基于蚂蚁SOFA体系的Mesh化思考 ü 无法保证上下游应用同时升级到Mesh模式 ü 基于RPC内容的流量调度 升级窗口有限,方案必须简单高效 Ø运维体系,容器化建设等方面适配 ü 蚂蚁运维架构建立在流量调度的基础上 ü 容器管理平台更替快速进行中 ØGolang 性能,成本评估符合蚂蚁实际需求2 构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 Ø屏蔽IO处理细节 Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL Ø提供可扩展的后端管理,负载均衡,健康检查能力 Ø维护上/下游核心指标转发流程 8 IO Read Codec Stream Route / LB Codec Stream IO write F1 F2 F1 F2 F1 F2 IO Read Filters IO Write Filters Stream Filters bytes bytes stream bytes stream stream bytes0 码力 | 44 页 | 4.51 MB | 5 月前3深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统
深入 Kubernetes 的“无人区” —— 蚂蚁金服双十一的调度系统 曹寅2/19 一、蚂蚁金服的Kubernetes现状 二、双十一Kubernetes实践 三、展望未来迎接挑战 目 录 contents 目录3/19 一、蚂蚁金服的Kubernetes现状 Part 1:4/19 发展历程与落地规模 Part 1:蚂蚁金服的Kubernetes现状 平台研发 灰度验证 数据库服务器 国产化服务器7/19 二、双十一 Kubernetes 实践 Part 2:8/19 资源分时调度 Part 2:双十一 Kubernetes 实践 快速腾挪的问题 1.实例上下线需要预热 2. 腾挪耗时不可控 3. 大规模腾挪的稳定性技术风险 9/19 资源分时链路切换 Part 2:资源分时调度 Kubernetes Node 分时调度 Agent Pod 资源及流量控制CRD 资源控制 分时调度 控制器 Pod 资源 Pod 资源 Pod 资源10/19 Part 2:资源分时调度 分时切换效果 数万台 应用 Pods 分钟级 链路切换 数万核 CPU资源节省 100% 分时切换成功率11/19 计算型任务混部 Part 2:双十一 Kubernetes 实践 其他自研 Operators AI 训练 Kubernetes TensorFlow0 码力 | 19 页 | 2.18 MB | 5 月前3SOFAMOSN持续演进路径及实践分享
返回AGAIN 匹配成功,获 取对应协议 无法识别协议, 断开链接 继续读取数据技术案例 – HTTP/2.0优化 官方HTTP/2.0实现问题: 1. syscall read较多,效率低下 2. 每个stream分配单独的goroutine处理, 调度开销高 3. 临时对象多,GC占比高 4. 基本实现了RFC中MUST部分,部分功 能需求上不匹配,如GRPC trailer实现技术案例 – ü 热升级 ü metrics ü 修复HTTP/2 headers key不支持冒号开头字段的问题 ü 适配envoy的HTTP2配置项 Ø 代码管理 ü fork x/net/http2 代码 ü 新增mosn_http2.go文件,复用原生结构体和方法,暴露mosn框架 所需方法和结构 ü 原则不修改原生文件技术案例 – http2性能优化 Ø 压测环境 p Intel(R) Xeon(R) Post请求:1k上传,1k下载 p h2load:100连接,10并发 场景 QPS RT(ms) MEM(M) CPU(%) Old http2(1 core) 2700 358ms 55M 100% New http2(1 core) 6500 152ms 36M 100% Old http2(4 core) 8100 122ms 70M 393% New http2(4 core) 172000 码力 | 29 页 | 7.03 MB | 5 月前3微博Service Mesh实践
微博搜索/丁振凯 2018.07.29 微博Service Mesh实践 —Weibo MeshService Mesh Meetup · BeiJing �2 微博Service Mesh实践 - WeiboMesh CONTENTS 内容提要为什什么要做跨语⾔言服务化 • 需求 • 趋势Service Mesh Meetup · BeiJing 平台体系 微博Service Mesh实践 4,7层冗⻓长调⽤用链及资源消耗 4,7层调度Service Mesh Meetup · BeiJing 趋势 �6 微博Service Mesh实践 - WeiboMesh 微服务 1 容器器化 2 DevOps 3 云原⽣生 4 服务治理理与业务逻辑解耦,可持续交付跨语⾔言服务化⾯面临的问题 • 改造成本 • 服务治理理Service Mesh Meetup · BeiJing ➢ Cluster(发现集群管理理,group + path) ➢ HA(⾼高可⽤用策略略) ➢ LB(负载均衡) ➢ Endpoint(服务节点的抽象) ➢ Protocol(Motan2/传输协议+Simple/序列列化协议)Service Mesh Meetup · BeiJing Cluster 模块 �18 微博Service Mesh实践 - WeiboMesh WM/0 码力 | 43 页 | 1007.85 KB | 5 月前3Service Mesh 在『路口』的产品思考与实践
Service Mesh 在『路口』的产品思考与实践 宋顺(齐天) 蚂蚁金服高级技术专家2/39 蚂蚁金服高级技术专家 2019年初加入蚂蚁金服,主要负责微服务、Service Mesh 相关 产品的研发工作 开源配置中心 Apollo 主要作者 https://github.com/ctripcorp/apollo 毕业于复旦大学软件工程系 曾就职于携程、大众点评,负责中间件、后台系统等研发工作3/39 全链路可信、加密 零信任网络9/39 二、 在当下『路口』的思考10/39 Part 2: 在当下『路口』的思考 云原生方案? 落地有 gap 图片来源:https://istio.io/docs/concepts/what-is-istio/11/39 Part 2: 在当下『路口』的思考 Greenfield vs Brownfield Greenfield 全新的项目/新系统 图片来源:https://faasandfurious.com/90 Brownfield • 棕地,已开发/污染过的土地 • 成熟的项目/遗留系统12/39 Part 2: 在当下『路口』的思考 • 大量的应用还跑在非 k8s 体系上(VM、独立的注册中心等) • 当下这些 brownfield 应用的业务价值往往更大,如何把它们纳入 Service Mesh0 码力 | 40 页 | 15.86 MB | 5 月前3
共 31 条
- 1
- 2
- 3
- 4