云原生开放智能网络代理 MOSN云原生开放智能网络代理 MOSN 金融级云原生架构助推器 肖涵(涵畅) 蚂蚁金服高级技术专家 SOFAMosn 项目负责人1/10 MOSN,云原生时代的安全网络代理 Service Mesh 控制面 Galley Pilot Pod SOFA 服务 MSON Kubernetes TLS,国密 服务鉴权 Mirror Ingress Controller Pod Msg 可运维 可扩展 • 多版本发布 • 压测引流 • 服务分组 • 加密链路 • 国密算法 • 服务鉴权 • TCP、Http、SOFA • 透明劫持 • 平滑升级 • 可观测性 • 网络包过滤器 • 协议包过滤器 • 协议扩展 • 可观测性扩展 • 路由扩展 • 集群管理扩展 模块化 安全 智能 高性能3/10 MOSN 助力业界最大规模之一的 Service Mesh0 码力 | 12 页 | 1.39 MB | 6 月前3
蚂蚁金服网络代理演进之路蚂蚁金服网络代理演进之路 肖涵(涵畅) 蚂蚁金服高级技术专家 2019.10.26 Service Mesh Meetup #7 成都站网络代理是什么? 南北流量 东西流量 Server App 负载均衡器 NAT网关 防火墙 负载均衡器 NAT网关 防火墙 负载均衡器 负载均衡器 路由器 路由器 Internet网络代理有什么? Maglev Ipvs Katran Nginx Apache httpd SOFAMosn Envoy Linkerd网络的挑战网络的挑战 高效接入 访问加速 容量 稳定性 高可用 灵活弹性 安全合规 防攻击蚂蚁金服网络接入十年变迁 2010年前部署商用设备 前世 01 2010 开始网络代理白盒 化,定制业务逻辑,软 硬件一体解决方案 自研 02 2015 年无线通道协议,安 全升级, 连接收编 All in 再启程 03前世 F5 BigIP Netscaler自研四层网络代理 2011 2014 2018 未来 Ø 全面使用DPDK技术重构 Ø EBPF,XDP Ø 可编程交换芯片(P4语言) Ø 四层负载均衡-IPVS Ø NAT网关蚂蚁七层网络代理 Google Spanner?蚂蚁七层网络接入代理 Spanner蚂蚁七层网络接入代理 AGNA (Ant Global Network0 码力 | 46 页 | 19.93 MB | 6 月前3
蚂蚁金服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
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展现为一组轻量级网络代理,它们与应用程 序一起部署,但对应用程序透明。什么是Service Mesh?- by Istio 服务发现 负载均衡 流量控制 ... 黑白名单 限流 ... 身份认证 通信加密 权限控制 ... 调用追踪 指标收集 ...什么是Service Mesh?- 从网络的视角 Service Mesh关注点 网络视角: Service Mesh是一个主要针对七层的网络解决方 Mesh是一个主要针对七层的网络解决方案,解决的是服务间的连通问题Service Mesh是下一代的SDN吗? 通信网络 l 互不兼容的专有设备 l 基于IP的通信缺乏质量保证 l 低效的业务部署和配置 ... 微服务系统 l 互不兼容的代码库 l 不可靠的远程方法调用 l 低效的服务运维 ... 通信网络和微服务系统面临类似的问题:Service Mesh是下一代的SDN吗? Network Layer Look at Solution Layer 1 Input Port SDN SDN : 主要关注1到4层 Service Mesh: 主要关注4到7层 类似的问题,不同的网络层次,通信网络的解决方案能为Service Mesh提 供哪些借鉴?通信网络的解决方案:SDN微服务应用层通信的解决方案-Service Mesh HW Adapter Proxy Service Proxy Service Proxy Service0 码力 | 27 页 | 11.99 MB | 6 月前3
严选 ServiceMesh 实践在微服务治理上的短板 (限流、熔断、降级、分流等) • Istio 以 Sidecar 的形式运行在 Pod 中, 自动注入,自动接管流量,部署过程对业务 透明 • 提供了完整的 Service Mesh 解决方案 • 数据面:Envoy • 控制面:Pilot,Mixer,Citadel,Galley10/24 功能视角 - 服务治理能力 – 基于Istio+Envoy 类型 功能 能力提供方 服务调用方(Client) • 优化方案 • 采用 sriov 容器网络 • Envoy:将1.13版本中 connection loadbalancer 特性移植到 1.10.x 版本 • Envoy 优化后在低并发(<64)的情况下,容器网络 client sidecar 优于 VM 网络直连 • Envoy 优化后在高并发(>=64)的情况下 • 容器网络 client sidecar 接近 VM 网络直连 • • 容器网络 client sidecar 远远优于 VM cNginx(256并发 6.707 vs 15.771)13/24 当前演进方向 整体基于 Envoy+Istio 方案: • 数据面以 Envoy Proxy 作为代理组件 • 控制面以 Pilot 为核心组件 • 平台开放与扩展主要通过 Kubernetes CRD与Mesh Configuration Protocol(简称为0 码力 | 25 页 | 2.07 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘Ø拥抱微服务,云原生 • SOFA 5规划落地 • 兼容K8S的智能调度体系 Ø运维体系的有力支撑 • LDC • 弹性伸缩 • 蓝绿/容灾/.. Ø金融级网络安全 • 金融级鉴权体系 • 云原生zero trust网络安全趋势 Ø异构语言体系融合 • SOFA/NodeJS/C++/Python/.. • 业务低成本融入服务,运维体系为什么要自研Golang版本ServiceMesh 基于RPC内容的流量调度 ü 升级窗口有限,方案必须简单高效 Ø运维体系,容器化建设等方面适配 ü 蚂蚁运维架构建立在流量调度的基础上 ü 容器管理平台更替快速进行中 ØGolang 性能,成本评估符合蚂蚁实际需求2 构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 Ø屏蔽IO处理细节 Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL ü编码:对请求数据进行编码并根据控制指令发送数据 ü解码:对IO数据进行解码并通过扩展机制通知订阅方 •定义扩展机制通知解码事件STREAMING 6 Ø定义Stream模型 ü 向上确保协议行为一致性 ü 为网络协议请求/响应提供可编程的抽象载体 ü 考虑PING-PONG,PIPELINE,分帧STREAM三种典型流程特征 Ø定义Stream生命周期,核心事件 Ø定义Stream层编/解码核心接口 ü0 码力 | 44 页 | 4.51 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结合容器云平台的思考和实践简单负载均衡,基于Iptables Roundrobin 流量控制 简单根据服务实例进行控制云平台微服务演进之基于API网关的微服务方案 API网关功能增强 • 安全认证 • 流量控制 • 审计日志 • 黑白名单 • …K8S集群 云平台微服务演进之基于Spring Cloud的微服务方案 NS A Service Zuul Nginx Eureka Server Service 1 Service 监控并管理envoy的运行状况,比如envoy出错时pilot-agent负责重启envoy,或者envoy配置变更后 reload envoy。 而envoy负责接受所有发往该pod的网络流量,分发所有从pod中发出的网络流量。 根据代码中的sidecar-injector-configmap.yaml(用来配置如何自动化地inject istio sidecar), inject过程中,除了pro 每个pod还会带上initcontainer(Kubernetes中的概 念),具体镜像为proxy_init。proxy_init通过注入iptables规则改写流入流出pod的网络流量规则,使得 流入流出pod的网络流量重定向到proxy的监听端口,而应用对此无感。Init Container的工作原理 istio/tools/deb/istio-iptables.sh #将所有流量送入Envoy0 码力 | 28 页 | 3.09 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享版本 QPS 提升了 50%,内存使用减少了 40%;HTTP/2.0 相比官方库原 生实现,QPS提升了100%;HTTP/1.1 也有 30% 以上的性能提升。同时,针对具体 问题提供具体的解决方案,例如对于长连接网关场景,提供raw epoll模式来优化性 能表现。 ü 能力上,经过多轮演进,0.4.0版本已经初步具备了生产所需的大部分功能点,支持 云原生场景下的多协议、路由&LB、后端 XProtocol DNS方案规划 & 展望MOSNG 待开源MOSN-X eBPF 加速卡 DPDK MOSN SSL Offload User Protocol Stack K8S Ingress Microservice Frontend & Gateway MOSNG Serverless 高性能统一转发平面 下一代微服务体系 下一代网络接入系统 运维/流量调拨/监控/… 运维/流量调拨/监控/… 零信任 安全体 系 基于可靠沙箱的云原生运行时 异构硬件蚂蚁金服内部大规模落地 Ø覆盖核心链路应用 Ø 支撑第五代运维架构, 第五代微服务体系,新一代网络接入体 系,融合接入层、网关层、中间件技术体系,提供高性能、跨语 言的服务化通信能力 Ø 支撑零信任、微隔离的新一代安全防护体系 Ø 覆盖接入层场景,统一东西向、南北向流量代理Q & A https://github0 码力 | 29 页 | 7.03 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践金融级网络安全 Part 1: 为什么需要Service Mesh? 身份标识/访问控制 Service (client) Sidecar Sidecar Service (server) mTLS 服务鉴权 全链路可信、加密 零信任网络9/39 二、 在当下『路口』的思考10/39 Part 2: 在当下『路口』的思考 云原生方案? 落地有 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
共 30 条
- 1
- 2
- 3













