蚂蚁金服Service Mesh渐进式迁移方案Service Mesh Meetup #4 上海站 蚂蚁金服Service Mesh 渐进式迁移方案 2018.11.25 敖小剑 @ 蚂蚁金服 中间件 龙轼 @UC 基础研发部1 Service Mesh演进路线 1 2 实现平滑迁移的关键 3 DNS寻址方案的演进 4 5 总结 DNS寻址方案的后续规划ü 对未来长期目标的认可 • Service Mesh(带控制平面,如Istio) + Kubernetes 是目标 • 但是如何从现有体系向目标迈进,必须给出可行的实践指导 ü Roadmap • 预计2019年初 蚂蚁金服主站落地:目标与现状 百川归海蚂蚁金服主站落地方案的实施原则 Target 长期 目标 Step By Step 分步 进行 Resiliency 操作 弹性 符合远期规划 • 不走弯路,不浪费投资 • 每一步都为下一步奠定基础 • 每一步的工作量和复杂度都控制在可 接受范围内 • 每一步都简单方便,切实可行 可操纵性 • 操作层面上要有足够的弹性 • 每个步骤都是可分批进行 • 步步为营,扩大战果 • 杜绝一刀切k8s和Service Mesh落地方案演进路线 部署在 非k8s上 不是Service Mesh形态 部署在K8s上 非SM 部署在 非k8s上 Service Mesh (Sidecar模式) 部署在K8s上 Service0 码力 | 40 页 | 11.13 MB | 6 月前3
蚂蚁金服网络代理演进之路访问加速 容量 稳定性 高可用 灵活弹性 安全合规 防攻击蚂蚁金服网络接入十年变迁 2010年前部署商用设备 前世 01 2010 开始网络代理白盒 化,定制业务逻辑,软 硬件一体解决方案 自研 02 2015 年无线通道协议,安 全升级, 连接收编 All in 无线 03 PC时代 移动时代 万物互联云原生时代 2018 年协议,安全持续升 级(QUIC,MQTT,国密), • 自研,网络设备白盒化 • 全面实践全网https 2012 • 首次全流量支撑双十一大促 2013 • 支持蚂蚁LDC架构,三地五中心容灾架构 • 全面上线SSL加速卡,提供软硬件一体加速方案 2015 • All in 无线,通信通道全面升级(MMTP,MTLS协议) 2016 • 安全防护能力提升,WAF,流量镜像 2018至 今 • 通信协议,架构,安全再次升级(物联 蓝绿发布 • 容灾 ØZone内容灾 Ø机房级别 Ø城市级别 • 弹性调度 • 压测 • 灰度蚂蚁金服SSL/TLS实践 合规 性能 安全软硬件一体解决方案 Intel QAT Cavium Nitrox软硬件一体解决方案 SSL握手性能 提升3倍 • 对Spanner实现了异步化改造 • 对openssl进行了异步化引擎改造 • 实现多芯片卡的负载均衡协议实现的改造-MTLS0 码力 | 46 页 | 19.93 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展by Istio 服务发现 负载均衡 流量控制 ... 黑白名单 限流 ... 身份认证 通信加密 权限控制 ... 调用追踪 指标收集 ...什么是Service Mesh?- 从网络的视角 Service Mesh关注点 网络视角: Service Mesh是一个主要针对七层的网络解决方案,解决的是服务间的连通问题Service Mesh是下一代的SDN吗? 通信网络 l 互不兼容的专有设备 Input Port SDN SDN : 主要关注1到4层 Service Mesh: 主要关注4到7层 类似的问题,不同的网络层次,通信网络的解决方案能为Service Mesh提 供哪些借鉴?通信网络的解决方案:SDN微服务应用层通信的解决方案-Service Mesh HW Adapter Proxy Service Proxy Service Proxy Service traffic(For example: Rate limiting, Service priority, etc.)总结:他山之石,可以攻玉 • 解决类似的问题:运维和通信的问题 • 相似的解决方案:数据面+控制面+应用 • 不同的协议层次:SDN 2-4层,Service Mesh 主要为7层 SDN对Service Mesh发展的启发: Ø 北向接口 • 面向业务和运维 • 具0 码力 | 27 页 | 11.99 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路回馈社区,反哺开源 维持版本更新,同步升级 未来肯定会开源 可扩展和可定制化是必备的 可 控 性 社 区 支 持 技术输出 内部落地 如何让开源产品接受我们的改动? 如何让社区和客户认可我们的产品?开源方案选择之第一代Service Mesh Linkerd • 无控制平面 • Scala编写,基于JVM资源消耗大 • 可扩展性有限,dtab不易理解和使用 • 功能不能满足蚂蚁的需求,没法做到 安心做数据平面, 提供XDS API • 设计优秀,性能和稳定性表现良好 • C++编写,和蚂蚁的技术栈差异大 • 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio • 第一选择,重点关注对象 • 奈何迟迟不能发布生产可用版本 • 性能和稳定性远远不能满足蚂蚁的 要求 • 但我们非常认可Istio的理念和方向 全新实现(原有类库是基于Java) 老成持重的稳健思路:以proxy为切入口,第 一时间获取跨语言和技术栈下沉的红利,立足 之后再缓缓图之。 这个产品思路唯一的麻烦在于编程语言的选择国内公司的选择之二:开源方案定制 腾讯:Tencent Service Mesh • 数据平面选择Envoy:成熟产品,符合 腾讯语言体系,内部广泛使用 • 控制平面据传“挣扎了一下”,最终还 是选择Istio,进行0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践(client) Sidecar Sidecar Service (server) mTLS 服务鉴权 全链路可信、加密 零信任网络9/39 二、 在当下『路口』的思考10/39 Part 2: 在当下『路口』的思考 云原生方案? 落地有 gap 图片来源:https://istio.io/docs/concepts/what-is-istio/11/39 36d4213/39 Part 2: 在当下『路口』的思考 • Mixer V1 性能堪忧 • Mixer V2 遥遥无期 • Pilot 性能也有较大隐患 现实场景 – 云原生方案离生产级尚有一定距离 图片来源: https://istio.io/docs/reference/config/policy-and-telemetry/mixer-overview/14/390 码力 | 40 页 | 15.86 MB | 6 月前3
云原生开放智能网络代理 MOSN多协议接入 TLS,国密 WAF,DDos2/10 MOSN 核心能力沉淀 精细化路由 安全防护 多协议 可运维 可扩展 • 多版本发布 • 压测引流 • 服务分组 • 加密链路 • 国密算法 • 服务鉴权 • TCP、Http、SOFA • 透明劫持 • 平滑升级 • 可观测性 • 网络包过滤器 • 协议包过滤器 • 协议扩展 • 可观测性扩展 •0 码力 | 12 页 | 1.39 MB | 6 月前3
Service Mesh 在蚂蚁金服生产级安全实践广州站基于 Secret Discovery Service Sidecar 的证书管理方案 使用可信身份服务构建敏感数据下发通道 Service Mesh Sidecar 的 TLS 生产级落地实践 分享内容基于 Secret Discovery Service Sidecar 的证书管理方案 Kubernetes Secret 证书管理流程 在 Kubernetes 场景下,证书是通过 更新时,Sidecar 需要通过热重启方式重新加载,成本高昂基于 Secret Discovery Service Sidecar 的证书管理方案 Envoy SDS 证书管理流程 Secret Discovery Service 是 Envoy 提出的 Sidecar 证书管理方案,方案的核心流程在于引入 SDS Server 进行密钥管理和分发,Sidecar 通过 gRPC 请求获取证书,并利用 gRPC 的通信也需要保证自身的通信安全,存在以下两种方案: Sidecar 与 SDS Server 采用 mTLS 通信,采用静态证书方案,通过 Secret Mount 方式获取通信证书 Sidecar 与 SDS Server 采用 UDS 方式实现纯内存通信,不需要使用证书。基于 Secret Discovery Service Sidecar 的证书管理方案 Envoy SDS 证书管理流程基于0 码力 | 19 页 | 808.60 KB | 6 月前3
蚂蚁金服双十一 Service Mesh 超大规模落地揭秘sofastack.tech SOFAStack: https://github.com/sofastack3 一、Service Mesh 简介 二、为什么要 Service Mesh 三、方案落地 四、分时调度案例 五、思考与未来 目 录 contents ⽬目录4 一、Service Mesh 简介 Service Mesh 简介5 Service Mesh 简介-比较 为什么要 ServiceMesh-结论-方案 应用A 应用 应用B 应用C 应用D 应用E SOA 解耦了不同的业务团队之前的耦合 服务注册中心客户端 限流熔断客户端 动态配置客户端 故障注入客户端 Service Mesh 解耦了业务开发与基础团队之前的耦合 应用代码 业务应用开发 基础设施开发 Mesh 化10 三、方案落地 方案落地11 最终选型:自研数据面+轻量 最终选型:自研数据面+轻量 SDK,我们给出的答案是 MOSN。 方案落地-选型 开源/自研:全部迁移到 envoy?不现实,自有协议+历史负担。 SDK/透明劫持:运维和可监控性不好,性能不高,风险不太可控。12 方案落地-目标架构 MOSN APP Pod MOSN APP Pod 服务发现 More Sidecar More Sidecar Pilot MQ Kubernetes Sidecar0 码力 | 26 页 | 2.71 MB | 6 月前3
陌陌Service Mesh架构实践在微服务领域具备丰富的经验 当前关注Service Mesh、云原生等技术方向2/24 /01 /02 /03 背景 问题 实践 微服务体系演进历程 架构痛点与解决思路 Service Mesh落地方案3/24 背景 /01 陌陌微服务体系演进历程4/24 单体应用到微服务 单体应用 微服务架构 应用拆分 加入PHP API层 PHP API层成为后续多语言服务治理的关键挑战5/24 微服务体系演进 MOA 1.0微服务体系演进历程 自研服务框架产品MOA(Momo service Oriented Architecture)于2013年初上线推广 微服务体系的其他产品也均为自研方案6/24 MOA 1.0微服务体系整体架构 注册中心 • Redis作为底层存储 • 跨语言地址发现服务Lookup • 中心化存活检测 多语言支持 • Java、PHP、Python、Go、NodeJs 稳定性受损、引发故障 架构方案受限 …11/24 引入Service Mesh 是否足够成熟 是否有替代方案 是否可接受成本 是否能兑现价值 观察阶段 试验阶段 评估阶段 启动阶段 思考 行动12/24 实践 /03 Service Mesh架构在陌陌的落地实践13/24 方案选型 与现有架构的兼容性 现阶段的关键需求 技术储备与原则类因素 自研数据平面与 控制平面方案 使存量服务接入Mesh0 码力 | 25 页 | 1.25 MB | 6 月前3
严选 ServiceMesh 实践在微服务治理上的短板 (限流、熔断、降级、分流等) • Istio 以 Sidecar 的形式运行在 Pod 中, 自动注入,自动接管流量,部署过程对业务 透明 • 提供了完整的 Service Mesh 解决方案 • 数据面:Envoy • 控制面:Pilot,Mixer,Citadel,Galley10/24 功能视角 - 服务治理能力 – 基于Istio+Envoy 类型 功能 能力提供方 服务调用方(Client) RT overhead 在0.4ms左右 • Envoy(client模式)的 RT overhead 是0.6ms左右12/24 性能视角 – cNginx vs Envoy(优化后) • 优化方案 • 采用 sriov 容器网络 • Envoy:将1.13版本中 connection loadbalancer 特性移植到 1.10.x 版本 • Envoy 优化后在低并发(<64)的情况下,容器网络 VM 网络直连 • 容器网络 client sidecar 远远优于 VM cNginx(256并发 6.707 vs 15.771)13/24 当前演进方向 整体基于 Envoy+Istio 方案: • 数据面以 Envoy Proxy 作为代理组件 • 控制面以 Pilot 为核心组件 • 平台开放与扩展主要通过 Kubernetes CRD与Mesh Configuration0 码力 | 25 页 | 2.07 MB | 6 月前3
共 24 条
- 1
- 2
- 3













