上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

03Service Mesh 在百度大规模落地实践--陈谭军.pdf

编号:122304 PDF 41页 8.90MB 下载积分:VIP专享
下载报告请您先登录!

03Service Mesh 在百度大规模落地实践--陈谭军.pdf

1、百度服务网格架构演进之旅百度云原生-陈谭军目录目录 服务网格架构服务网格架构 百度服务网格架构演进之旅百度服务网格架构演进之旅 服务网格架构总结与展望服务网格架构总结与展望调查调查1 1 未使用未使用 Kubernetes 管理业务应用?管理业务应用?调查调查调查调查2 2 未落地未落地 Service Mesh 进行进行服务服务治理?治理?服务网格架构服务网格架构服务服务网格网格服务网格是一个基础设施层基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,服务网格保证请求在这些拓扑中可靠地穿梭请求在这些拓扑中可靠地穿梭。在实际应用中,服务网格通常是由一系列轻量级的网络代理网络代理 组

2、成,它们与应用程序部署在一起,但对应用程对应用程序透明序透明。稳定可靠稳定可靠基础设施基础设施网络代理网络代理应用透明应用透明服务服务网格网格服务网格架构开始进入准成熟期,以 Istio 为代表的服务网格在国内基本上是事实上的标准特点 市场更加理性 技术日趋成熟 回归价值本身 生态逐步完善 产品百花齐放百度服务网格架构演进之旅百度服务网格架构演进之旅演进路线演进路线传统微服务服务网格1.0服务网格2.0 开发框架 bRPC、SpringCloud 等 通信协议 HTTP、gRPC、私有协议等 开发语言 C+、Golang、Java 等 统一与融合公有云与集团云服务网格 基于 Istio,发布私

3、有云服务网格 拥抱开源,基于 Istio 进行定制化开发,数据平面融合 Envoy 与 bRPC,提升转发性能 基于 bRPC,数据平面同时支持 Proxy 与 ProxyLess 模式,服务网格统一服务流量治理服务网格服务网格 1.01.0Istiod定义 Link ConsumerEnvoy127.1.1.1:8000Naming Lib Naming AgentProvider0.0.0.0:3000Envoy0.0.0.0:300110.1.1.110.1.1.23.1 注册直连模式Pod XPod YConsole定义 Link VIP Controller(127.0.0.1,12

4、7.255.255.254)1.生成带 VIP 的 Link2.xDS 推送 Link 信息3.2 Naming 解析4.1 请求 4.2 返回5.请求 Provider6.请求 10.1.1.2:3001直连模式Sidecar 模式返回 数据面高性能适配内部基础设施没有 Iptables 消耗劫持性能好 可回滚Sidecar 故障可秒级切换保证业务接入 Mesh心跳检测心跳检测服务网格服务网格 1.01.0原生模式 HTTP 是第一等公民私有协议内部服务发现服务发现原生网络代理带来的延迟难以接受延迟敏感无容器网络、内部无法使用 Iptables 等 PaaS环境措施 对于私有协议,通过修改代

5、码抽象(超时、重试、请求路由、负载均衡等)通用能力,支持新的私有协议,只需要实现相对应的 Codec 编解码 对延迟非常敏感的业务,融合 Envoy 与 bRPC 提供 Proxy 模式、基于 bRPC 提供 ProxyLess 模式 对于 Sidecar 管理与注入,升级内部 PaaS 支持 Sidecar 模式 对于流量劫持,通过 Envoy 联动 Naming Agent(服务发现系统)研发新的流量劫持模式 服务网格服务网格 2.02.0定制化控制平面与数据平面侵入式支持私有协议依赖内部基础设施,服务发现等场景化功能,Mesh 开关、bRPC 等插件式拓展控制平面与数据平面微服务治理社区

6、标准化数据平面性能加速低运维与产品易用微服务安全性中间态目标态稳定原因 业务 One Cloud 全面上云、内外资源共池、软硬一体内外融合大背景 资源分时弹性复用、统一库存共存、提升资源效能,加速业务 TOB 化建设 侵入式、定制化、严重依赖内部基础设施等原有内部 Mesh 服务网格架构模式在百度智能云不适用 统一云平台、减少重复投入,完善百度智能云云原生微服务产品矩阵,赋能内外部客户产品架构产品架构App 1SidecarApp 2SidecarBaidu Cloud托管网格Istiod请求GatewayApp 1SidecarIstiodGatewayApp 2Sidecar独立网格CRD

7、 配置管理精细化流量管理生命周期管理链路追踪核心组件托管零信任安全请求KubernetesKubernetes日志服务Prom 监控多集群管理xdsxdsxdsxds托管控制平面托管控制平面sleepSidecarMeta Cluster北京 集群 AIstiodAPIServerhelloworldSidecarGatewayendpointsleepSidecar苏州 集群 BAPIServerhelloworldSidecarGatewayLoadBalancerxdsxdstrafficxdsendpointendpointxdstraffic7.0.0.8多实例多实例管理管理多实例多

8、实例管理管理Service ASidecarIstiodService BSidecaristio-system-aaaIstiodistio-system-bbbService CSidecarService DSidecartrafficns1ns2ns3workspaceID=aaaworkspaceID=bbbxdsxdstrafficxdstrafficxds核心特点多个租户会共享一个 k8s 集群,而非一个租户独占一个 k8s 集群租户通过命名空间中 workspaceID 表示身份集群中的多个网格实例对应的 Istiod,安装在独立的 ns实现原理使用选择性服务发现与 Webho

9、okConfiguration 只作用于对应账户的若干 ns 集群所有 Istiod 共用一个集群粒度的中间证书云原生网关云原生网关云原生网关云原生网关在并发数 4w 与 QPS 11w 的前提下,blb-nginx 在后端服务滚动升级期间,超时数量明显增加而 Envoy 只是瞬间出现超时blb-nginxEnvoy云原生网关云原生网关98724621923605,00010,00015,00020,00025,00050010002000 长连接 QPS blb-nginxingress-nginxenvoy338053547

10、335626984966894501,0002,0003,0004,0005,0006,0007,0008,0009,00010,00050010002000 短连接 QPS blb-nginxingress-nginxenvoy483407365642402004006008001,0001,20050010002000长连接 p99(ms)blb-nginxingress-nginxenvoy总结总结高并发场景下,Envoy 在配置变更期间稳定性优于传统网关,性能整体与 Nginx 持平,但长尾延时效果要好云原生网关云原生网关App 1北京 集群

11、 AIstiodAPIServerApp 2SidecarLoadBalancerxdsxdstrafficGatewayxdstraffic选型 Envoy性能和配置变更稳定性明显优于传统网关具有原生功能丰富、可观测性、社区开源、易扩展等特性合理架构,控制平面与数据平面分离统一技术栈与流量管控、资源复用特点高性能、低成本纯托管免运维,更好的 SLA 保障丰富的路由策略、灰度治理、可观测性等性能优化性能优化现状 xDS 数据量的大小和网络规模成正相关,在大规模场景下,会带来较多的网络性能损耗 手动配置 Sidecar CRD 依赖用户梳理服务间的依赖关系,较为困难与复杂方案 Aeraki 提供

12、 Lazy Sidecar 自动根据上下游调用关系下发 Sidecar,仅将需要的 xDS 推送到数据平面,以减少资源消耗 Slime 使用自定义 CRD 自动分析上下游依赖关系并将其转换成 Sidecar 下发给控制平面,实现 xDS 按需下发,解决配置全量下发问题控制平面控制平面 -xDSxDS 按需下发按需下发控制平面控制平面 -xDSxDS 按需下发按需下发IstiodSidecarService ASidecarService BSidecarNginxLazySidecar ControllerAPIServerGateway1 注入 sidecar2,8 reconcile 3,

13、9 watch CRD 资源4,10 xDS 配置推送5 首次请求6 HTTP 上报调用关系7 首次请求11 后续请求优势优势 用户不需要手动配置服务间的依赖关系,服务间调用依赖关系是完全自动生成与配置的。Envoy 只会获得自身相关的 xDS 配置,性能优越。对 Istio 和 Envoy 无任何定制化修改,可拓展性与可维护性强。无需依赖 access log 或监控组件获取调用关系。数据平面数据平面 -TLSTLS 加速加速 IstiodApp1App2PodPodEnvoyPodTLSBoringSSLprivateKeyProviderEnvoyBoringSSLprivateKeyP

14、roviderEnvoyBoringSSLprivateKeyProviderTLSTLSprivateKeyProvider:CryptoMBxdsxdsxds前提Envoy 1.20+或者 Istio 1.14+利用第三代 Intel 至强 可扩展处理器指令 AVX512、Envoy 中的 CryptoMB Private Key Provider 以及 Istio 中使用 ProxyConfig 配置实现 Envoy TLS 加速TLSTLS 加速加速 372475685532003004005006007008009000QPS 加速前加速后

15、387988502004006008000020004000平均时延(ms)加速前加速后QPS 整体提升约 30%-40%平均请求时延降低 100%+网格红利网格红利安全管理安全管理基础概念 零信任安全:代表新一代的网络安全防护理念,关键在于打破默认的“信任”,就是“持续验证,永不信任”。SPIFFESPIFFE:提供了覆盖身份、身份证书的类型以及创建、管理和颁发方式的定义,贯彻了零信任的安全模型,为构建基础设施提供了标准框架。Istio:Citadel 实现了 SPIFFE 规范,数据格式由 Istio 自己实现,通信格式采用

16、 xDS(SDS)协议规范。SPIRE:实现基础设施 SPIFFESPIFFE 规范,使用服务端与代理的分级策略采用概念威胁模型,尽可能地提升安全性和降低威胁带来的影响。SPIFFE 和 SPIRE 都是 CNCF 的孵化沙箱项目。具体实现中包含 SPIRE Agent、SPIRE Server。SVID:是工作负载向资源或调用者证明其身份的文件。SVID 包含一个 SPIFFE ID,代表了服务的身份。PKI:(Public Key Infrastructure)即公开密钥体系,PKI 技术就是利用公钥理论建立的提供信息安全服务的基础设施。安全管理安全管理Root CAIntermediat

17、e CAWorkloadWorkloadWorkloadCluster AIntermediate CAWorkloadWorkloadWorkloadCluster B安全管理安全管理UpstreamAuthorityCluster AWorkloadNode 1EnvoySpire AgentSDS APIUDSSpire Serverk8s-workload-registarx.509 SVIDCluster AWorkloadNode 2EnvoySpire AgentSDS APIUDSx.509 SVIDPKI 基础设施UpstreamAuthorityCluster BWorkl

18、oadNode 1EnvoySpire AgentSDS APIUDSSpire Serverk8s-workload-registarx.509 SVIDCluster BWorkloadNode 2EnvoySpire AgentSDS APIUDSx.509 SVID优势支持跨网格/集群通信:有了共同的信任根,集群之间就可以互相验证身份,进而实现跨集群通信轻松实现证书轮换:可以按集群/网格实现证书轮换,而不是轮换根节点证书,减少停机时间兼容内部 PKI 基础设施,完成服务认证环境复用环境复用服务服务服务服务配置服务服务服务服务配置应用更新配置更新应用更新配置更新需要维护完整环境的应用更新

19、和上下游调用关系配置问题 某个公有云内部业务产品迭代频繁,内部调用关系日趋复杂,构建线下环境的任务越来越繁重 多套闭环环境构建成本高、维护难度大 环境问题严重降低工程效率,增加人力成本环境复用环境复用未携带流量标识的用户流量SidecarService BSidecarService CSidecarService DSidecarService ASidecarService B v1SidecarService D v1携带 v1 标识的用户流量实现原理实现原理 流量标记 HTTP header 中的 baggage 字段,匹配规则是 x-mesh-traffic-lane=环境名称 利用

20、 Istio 路由功能中的流量匹配规则和转发能力收益收益 大幅降低特性环境构建成本,提升问题排查效率 只需要维护每次需求用到的模块,系统根据流量标识,处理上下游调用关系落地规模与收益落地规模与收益 大幅降低治理策略迭代成本与周期,从数月缩短到天级别、甚至分钟级别 系统核心可用性和整体容灾、防雪崩能力得到提升 降低研发与测试成本,提升工程效能 协同其它基础设施系统,极大提升系统稳定性与可用性业务收益 内外客户核心产品线 Mesh 接入数 10+,如地图、搜索、百度健康、外部客户等 在线 Mesh 实例数达 10 万+,每天 PV 流量超过万亿托管控制平面多实例管理运维管理云原生网关网关控制平面数

21、据平面性能优化服务安全业务收益落地规模网格红利回顾回顾可拓展式支持私有协议,如 Aeraki 等私有协议非侵入式支持其它注册中心服务发现bRPC SidecarbRPC ProxyLesseBPF延迟敏感赋能更多业务解锁高级红利提升稳定性业务场景未来计划与探索未来计划与探索整体架构整体架构 应用场景搜索商业Feed手百外部客户地图服务治理环境复用服务观测混顿工程容量管理灰度发布百度内部云服务网格产品 私有化微服务产品公有云服务网格产品SidecarAppIstiod权限系统PaaS 平台监控系统调用链系统基础设施SidecarApp协议支持HTTPbaidu-std协议可拓展架构框架支持bRP

22、CODP框架 SDK/探针BNSConsulZookeeper服务发现ProxyLess服务网格架构总结与展望服务网格架构总结与展望业务存在跨语言、跨框架、服务治理能力不统一问题问题抛砖引玉抛砖引玉想基于 Mesh 做更多上层的服务治理场景,需要整个网络通信层可编程、零信任等服务治理策略变更频繁、有动态服务治理的需求微服务开发框架迭代频繁、需要和业务解耦问题问题抛砖引玉抛砖引玉 拥抱开源,不等于开箱即用,需要适配公司基础设施,如 PaaS、服务框架等。Service Mesh 不是万能钥匙,完全无侵入、支持所有协议、拥有各种高级治理策略的服务网格方案是不存在的。业务 Mesh 化改造确实能带来

23、很多的收益,解锁各种高级能力,这是传统微服务不能满足的,但是需要协同其它基础设施,才能发挥出最大价值。求实求实性能性能平稳平稳易用易用生态生态只有适合内部基础设施的架构才是最优之选,合适的架构是第一选择Mesh 代理不能有很大的网络延迟,性能是第一要素Mesh 是否有劫持流量开关、代理故障可自动回滚、业务生产稳定可用是第一原则Mesh 作为基础设施,对于业务来说,产品易用是第一印象需要协同周边生态,如 PaaSPaaS、可观测性等,才能更好地为业务服务,发挥第一优势未来展望未来展望eBPFeBPFAmbientAmbient MeshMesh国产化国产化社区生态社区生态eBPF(extened

24、 Berkeley Packet Filter)是一种内核技术,它允许开发人员在不修改内核代码的情况下运行特定的功能。常用于网络监控、安全过滤、性能分析、网络加速和虚拟化等多种应用场景。Ambient Mesh 这是 Istio 提供的一种新的数据平面模式,旨在简化操作,提供更广泛的应用兼容性,并降低基础设施的成本。考虑到业务会运行在各类国产化环境,服务网格架构整个技术体系需要适配与兼容 ARM 和 PPC 等芯片架构、统信 UOS 和麒麟等国产操作系统社区生态竞争激烈与日益繁荣,控制平面与数据平面或许逐渐标准化、通用化,目前来看在国内 Istio 还是独占鳌头。未来展望未来展望内部云 Mesh(地图、大商业)公有云 Mesh(对接公有云生态)应用场景流量治理服务安全服务观测多协议通信容量管理灰度发布拓展机制(服务发现、多协议、服务高级治理策略等)私有云 Mesh(客户定制拓展)以公有云 Mesh 为基座,支撑内部集团云与私有云,继续打磨“托管式、标准化、安全、稳定、易用、高扩展”的服务网格产品 继续拥抱开源,融入与共建服务网格社区生态,向开源社区贡献力量 架构不是一蹴而就的,只有能够赋能业务,架构才能有生命力。架构不是一蹴而就的,只有能够赋能业务,架构才能有生命力。Service Mesh 不会是微服务架构演进的终极方向。不会是微服务架构演进的终极方向。结语结语感谢聆听

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(03Service Mesh 在百度大规模落地实践--陈谭军.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部