美团Service+Mesh落地实践与挑战_第1页
美团Service+Mesh落地实践与挑战_第2页
美团Service+Mesh落地实践与挑战_第3页
美团Service+Mesh落地实践与挑战_第4页
美团Service+Mesh落地实践与挑战_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

美团ServiceMesh技术实践与落地挑战俊美团ServiceMesh介绍QOCTOQOCTOQ3OCTOOCTO1.0:美团第一代服务治理体系OCTO2.0:美团第二代服务治理体系(美团ServiceMesh)美团ServiceMesh介绍协议•美团RPC统一协议(基于thrift)功能•流量调度:服务分组(同机房、同城市)、机器权重、主备机基于SDK的服务治理基于Sidecar的服务治理业务进业务进程业务逻辑服务治理SDK路由寻址服务鉴权流量录制通讯协议连接管理超时重试负载均衡跟踪服务发现业务进业务进程业务逻辑MeshSDK连接管理通讯协议服务发现服务鉴权负载均衡服务发现服务鉴权负载均衡超时重试路由寻址链路跟踪流量录制通讯协议连接管理注册中心众多治理平台密钥系统集中式健康检查系统统一变更分发中心节点管理系统监控预警系统控制面节点注册xDS增强面节点注册中心众多治理平台密钥系统集中式健康检查系统统一变更分发中心节点管理系统监控预警系统控制面节点注册xDS增强面节点信协议Octo-ProxyAgentUDS稳定性保障系统稳定性保障系统•提供各种服务治理能力,如服务注册发现、服务鉴权等控制平面•中心与全局管控能力•适配原有服务治理系统•数组面组件全部配置信息的来源•流量接管,完全接管业务流量•服务治理,完备的服务治理能力Octo-Proxy业务进程UDS业务进Octo-Proxy业务进程UDS业务进程•管理数据面组件的发布与升级MetaServer系统控制面节点注册发现系统业务进程WorkerThreadecodekmsrhinoencodeConnectionPoolTL SOctoProxyxDSAdmin业务进程WorkerThreadecodekmsrhinoencodeConnectionPoolTL SOctoProxyxDSAdminLSStatFlushingScodeProcessManagementWorkerThread kmsrhinoencodeLibevent运维管理ConnectionPool控制面控制面•相同的线程模型和事件回调模型•完全兼容的xDS格式•增加对thrift编解码支持•美团内服务治理功能支持•修改后的xDS交互:支持按需订阅、延启动特性•…服务消费者MeshSDK监听UDS监听UDS监听9001Octo-ProxyTCP请求:9001核心能力-流量接管服务消费者MeshSDK监听UDS监听UDS监听9001Octo-ProxyTCP请求:9001UDS直连(Unixdomainsocket)•Sidecar代替业务进程监听TCP端口•Sidecar和业务进程之间通过本地UDS连接•Sidecar之间通过TCP直接连接优势•简化运维成本:不用维护异构环境的iptables•更好的性能:去掉TCP协议栈和iptables开销4.订阅remoteAppkey服务提供者MeshSDKOcto-ProxyremoteAppkey:9001Pilot/控制平面3.注册:90016.3.注册:9001MNS/命名中心4.FetchA业务进程2.资源列表增加A7.4.FetchA业务进程2.资源列表增加A7.SaveA阅请求A3.FetchA6.ResponseA5.ResponseA全量订阅不适合美团数十万节点的业务规模大规模集群下的服务订阅•全量订阅问题-按需订阅•资源预热问题-订阅结果检查•启动顺序问题-SDK重试逻辑•重启信息丢失-订阅信息落盘MNS/命名中心Pilot/控制平面8.8.CheckAxDSClustergerMeshSDKHttpAdmin9.通知结果roxyhttp通信/拉取可用pilot列表周期性检查健康度更新cluster 更改健康状态拉取节点列表记录连接结果Metaserverfetcher被动http通信/拉取可用pilot列表周期性检查健康度更新cluster 更改健康状态拉取节点列表记录连接结果Metaserverfetcher被动健康检查模块xDSclient/WithRetryFeatureoProxy和一台Pilot建立连接API分发策略干预/容灾独立的服务发现•不能依赖现有服务发现能力•Pilot负载均衡,考虑IDC等等因素•Pilot水平分片,根据不同服务分发可靠的连接•ADS重连机制,连接失败重试•被动健康检查,减少控制面压力•TCPkeepalive机制,保障长连接有效平台注册面集群LEGO-.升级通知LEGO-.升级通知3.版本下载Downloader技术方案选择•美团异构的生产环境:容器、虚拟机、物理机•LEGO平台的优势:在大规模场景下经历了较长时间的考验主要功能•进程粒度的升级重启•灵活的灰度发布与回滚策略•支持Sidecar的监控保护•支持Sidecar的热重启模式进程gentLEGOagenttoProxy4.执行热升级一些问题什么阻力呢?有什么解决方案吗?应该从哪里入手开始推广落地工作呢?我们团队只有几个人,如何低风险、高效率地推广数万服务呢?落地推广面临的挑战独立试点解解决业务同学的困惑部全面推广解解决大规模推广的难点•如何在推广过程中保障整体风险可控•如何提高整体推广的效率整体升级Mesh带来的收益主要收益详细描述SDK更轻量级,小语种可以支持更多服务治理能力加速治理能力迭代服务治理能力可以独立升级、加速迭代降低兼容性维护成本服务治理功能下沉,线上30多个版本SDK会逐渐收敛,版本兼容性维护成本与风险下降6.流量控制eshMesh管理界面lot3.DSS动态策略下发2.下发配置6.流量控制eshMesh管理界面lot3.DSS动态策略下发2.下发配置5.获取配置普通流量普通流量+灰度Mesh流量互联互通、流量兼容业务进程MeshSDKMeshSDK流量模块WorkerThreadMainThread4.分发配置OctoProxy升级Mesh的接入成本可视化管理平台•无修改、无发布•一键接入、无感接入、自动接入•灰度流量、灰度机器•可观测、可报警、可回滚测试环境•2核4G极限场景下,增加延迟平均不超过0.2ms时•QPS可以达到3.5万实际场景下,业务QPS不超过1万时•实际增加延迟不超过0.1ms•平均业务请求延迟为8ms,增加不超过1.25%延迟原本延迟增加延迟tfilterSidecar心跳模块块心跳探活业务进程tfilterSidecar心跳模块块心跳探活业务进程请求发送开关Mesh通信模块Mesh通路流量原来RPC通路流量单机器降级•SDK通过心跳探活Sidecar单服务降级•自动检测灰度Mesh流量错误率•Mesh流量错误率高于普通流量一定阈值时自动回切并报警这个接入对我们来说没有业务收益,但是有稳定性风险这个操作有风险吗?如这个接入对我们来说没有业务收益,但是有稳定性风险这个操作有风险吗?如果没有风险我们可以考虑升级一下我们服务对性能要求很高,这个会不会影响性能啊好的,来俊,我们先了解下及可能带来的收益,后续可随我们业务需求一起再切换这这个我知道,我就想知道现在稳定性如何,有多少人用,接入成本如何这这个接入对我们来说没有业务收益,但是有稳定性风险整体推广的风险控制••控制风险,有节奏地进行接入支持验证推广方案•先线下接入,再线上接入•先非核心服务,再核心服务•控制流量逐步提高,验证大规模流量场景•控制节点逐步提高,验证大规模节点场景下非核心节点逐步增加流量逐步提高上非核心核心核心独立试点独立试点整体推广的效率提升人人工运营推广•筛选可以接入Mesh的服务•找到业务同学进行沟通接入•检查接入Mesh的状态•统计业务推广情况•…线线上数据•服务是否接入•部门接入比例•Mesh端到端请求错误率•…人工操作下沉到自动化平台线上数据收集运营大盘•多维度筛选•接入条件检测•消息通知•监控报警•…运营大盘•整体数据概览•核心指标监控•…落地推广解决方案MeshMesh带来的收益•多语言支持•分别迭代,加速服务治理功能迭代•收敛SDK版本,减少兼容性成本与风险升级升级Mesh的成本•用户管理界面•一键接入、自动接入•按机器、按流量灰度接入MeshMesh对性能的影响•不超过1万QPS时,延迟低于0.1ms升升级Mesh的稳定性保障•针对机器的降级措施•针对服务的降级措施整体推广的风险控制整体推广的风险控制•先线下、在线上;先非

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论