欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

顺丰科技ServiceMesh落地半年:最初目标已经实现,将继续探索

时间:2022-10-09 15:04:44 | 浏览:9945

随着相关开源项目逐渐成熟,众多企业对 Service Mesh 跃跃欲试,其中不乏着手布局并投入实践的研发先锋,顺丰科技便是其中之一。顺丰科技在 2016 年底向云原生架构转型,开始了容器化建设,期间基于 Mesos 和 Marathon

随着相关开源项目逐渐成熟,众多企业对 Service Mesh 跃跃欲试,其中不乏着手布局并投入实践的研发先锋,顺丰科技便是其中之一。


顺丰科技在 2016 年底向云原生架构转型,开始了容器化建设,期间基于 Mesos 和 Marathon 自研了容器管理平台 FBOX,应用实例到了 18 年数量已上万。2019 年,顺丰科技基于 K8s 打造了第二代容器管理平台 KCMP,核心应用几乎全部实现容器化,pod 实例达数万。


经过四年的发展,顺丰科技已经有了相当的容器基础。在 2020 年,顺丰科技迈入了自己云原生新的阶段:Service Mesh。


当时,困扰顺丰科技的主要有三个问题。首先,顺丰科技各业务团队前期为了满足自身的服务治理需求,选择直接使用开源产品进行拼凑,存在不少重复造轮子的情况。随着业务的快速发展,统一的服务治理标准和手段成为团队的重要需求。


其次,为了解决安全管控、标准化 SDK 以及 SDK 兼容性问题,基础设施团队需要推动业务升级。但基础框架、中间件客户端的 SDK 与业务代码耦合,存在依赖包冲突的情况,每次升级非常消耗时间和精力。


最后,传统的蓝绿灰度方案,机器资源成本高且架构复杂。从业界和顺丰科技内部调研情况看,系统变更是造成系统生产异常或故障的重要原因,因此研发团队需要对功能进行灰度测试,充分验证后才能正式发版。但顺丰科技各个部门都在自建灰度能力,但不仅资源消耗大,还难以满足各种场景的需求。


因此,顺丰科技决定利用 Service Mesh 来解决上述问题,并先从原先成本和架构复杂度相对较高的全链路灰度方案开始入手。


去年底,顺丰科技研发平台中心新组建一个专项小组来推动这个项目的发展,同时容器服务、DevOps 平台、网络安全等其他底盘团队共同配合推进。


选择合适自己的


根据顺丰科技后端高级研发工程师杨定朝介绍,Service Mesh 重构全链路灰度项目的落地主要分为三个阶段:调研、研发和适配改造。


调研是技术选型的重要环节。要做选型,就要先了解自身的需求。之前,顺丰科技同时部署了两套环境蓝绿环境,利用网关(Nginx、Kong)进行分流,但这也带来了架构复杂、运维及机器成本成倍提升、不能更好支持更多场景版本的路由等问题。


另外,顺丰科技有 1700 多套系统,拥有 Dubbo、Spring Cloud、Spring Boot 等多个技术栈,支持 Java、Golang 等多种语言。这导致团队在做安全、流控相关研发时,工作量会非常大。


因此,顺丰科技的基础需求主要集中在四方面:低成本、自动化、兼容和安全。这些需求具有一定的共性,实际上在对业内 Istio、MOSN 和 Polaris 等产品对比后,团队也发现市面上大部分产品的功能都很丰富,这些基本都可以满足。那么,如何更好地接入顺丰系统就成了产品选择的重点。


首先,顺丰科技需要更符合自身系统的编程语言。2019 年的时候,顺丰曾尝试使用了 C++的 Envoy,但顺丰的业务部门技术栈主要是 Java、容器是 Golang,虽然 C++ 有极致的性能,但有一定的上手难度,团队没有足够的 C++ 经验和相关人才储备。


其次,顺丰科技想要将一些公共服务能力沉淀到数据面上,比如将 Config Mesh、Auth Mesh, Cache Mesh、Event Mesh 等能力融合到 Sidecar。顺丰科技内部不同的小组都有自己的标准,比如中间件团队有自己标准的 SDK,但基础架构团队时不时就要进行的升级对其非常不友好。升级不得不做,但要花费不少的人力,周期还很长。


最后,接入要让业务无感知。业务非常抗拒修改自己的程序,即使修改也不希望现有的东西有改变。但现在很多开源产品的客户端主要是 Java,两三年就有一个大的版本迭代,基础架构团队不希望因此产生兼容性问题。直接使用开源产品的后果之一就是团队要一直做适配。


基于以上考虑,团队在数据面上选择了更适合自身需求的 MOSN。MOSN 用 Go 编写,有与分布式 Runtime 融合的能力,同时衍生产品 Layotto 在向下对接了各种基础设施的同时,还向上为应用提供了各种具有分布式能力的标准 API,能够将各种通用能力下沉到 Sidecar 里。


但在治理面上,并没有一个完美适配顺丰科技的产品。


Istio 在业内算是最流行网格产品,但对顺丰科技来说,由于内部产品构建原因,没法直接使用 Istio。Istio 虽然使用事实标准的服务治理策略 xDS 协议,但 xDS 默认全量下发的方式使服务过多,一个服务的更新都会引起全量的配置下发,导致带宽占用过大,容易引起 istiod cpu 高负载,限制了 sidecar 的规模和稳定性。


另外,Istio 通过 iptables 无差别劫持所有 tcp 流量,但由于 iptables 本身机制问题,当 service 或连接过多时就会出现性能问题。另外,公司系统大部分用 ingress 或者天玑网关域名调用,要求用户修改回使用 service 方式调用,目前这种方式已经不现实。


相比之下,Polaris 对顺丰科技来说优势更明显,如流量治理策略屏蔽了底层技术栈、流量劫持支持服务网格精准拦截、支持多语言的 SDK 等。但腾讯 2021 年才将 Polaris 开源,这对顺丰来说有点晚了,因为顺丰已经形成了自己的一套技术栈。


“我们的初衷和 Polaris 很像,也是希望提供统一的治理流量界面,用户不需要关心底层的技术栈,只需接入即可使用。可惜的是,我们已经有自己对应的技术栈了,Polaris 的 SDK 流量治理技术栈与我们的不相符。”顺丰科技基础架构总工程师陈焕东说道。


但陈焕东所在的基础架构团队,在调研期间还是选择了能覆盖顺丰大部分场景的 Polaris 作为试点,抽取了 Polaris 中符合自身需求的部分能力融入到自身的服务治理平台,再根据其他需求进行适配改造。


“适配改造是非常关键的。如果开源产品不能很好地适用公司的场景,那么就不能直接拿过来使用。”陈焕东说道。就像 MOSN 即便符合顺丰的多数需求,但团队还是要在一些细节的地方做能力增强,以便满足场景需求。


现在,顺丰科技建成了 One Agent(Java 字节码增强) + One Mesh(MOSN+改造后的 Polaris )的顺丰云原生服务治理平台,即数据面选择自建的 Java Agent、MOSN 产品,控制面选择自建的 Plough Access 和改造 Polaris 产品,统一的治理面则围绕顺丰内部技术自研改造。在陈焕东看来,这是更符合顺丰科技现状的选择。



平台架构图


方案落地


目前,顺丰科技形成了以顺丰云为基础、应用为中心的顺丰云原生服务治理平台。该平台的流量负载主要围绕 xDS 协议进行,服务功能涉及熔断、降级、限流、黑白名单以及全链路灰度。而实施全链路灰度通常需要具备三要素:服务实例信息、路由能力和流量染色。


服务实例信息的 CDS、EDS,通过 controller 同步,然后交由治理面处理。治理面还负责制定路由功能和策略,各种 xDS 信息汇总后传送给 MOSN。MOSN 会带有流量染色的请求,然后将信息传递到服务集群,再做集群里面的负载均衡。


实际上,决定实施 Service Mesh 的时候,顺丰非常确定的一点就是要用统一的服务治理协议 xDS 协议。


如今,业界的治理协议不断发展,但由于没有统一标准,微服务各种产品的治理协议异常繁杂和混乱,如果要做治理面就需要不断地适配协议。“小的团队可能无所谓,但是像顺丰这样体量的公司技术栈很复杂,我们也很担心前期在一个开源产品上做了很多投入后项目突然不维护了,我们就得再考虑整体迁移改造的事情。大家都不想花费大量的精力去重复造轮子。”陈焕东说道。


陈焕东认为,现在服务网格的主流厂商都是基于 xDS 协议构建产品,只要按照这套标准,有需要时就可以轻松地切换,不会出现厂商绑定的问题。


顺丰科技内部有数万的 Pod 实例,xDS 下发效率是一个不得不考虑的问题。团队放弃了 Istio 可能导致 xDS 配置风暴的全量发送方案,沿用了 Polaris 的发布订阅模式,从 namespace 维度进行下发,既支持 namespace 全量下发,也可以订阅其他 namespace 的服务信息。另外团队也改造了 xDS 加载数据代码,保证 xDS 数据可以在 5 秒内被推送到 Sidecar 中。


在稳定性方面,团队沿用了 Polaris 精准流量匹配的能力,服务网格调用的流量才会经过 Sidecar,而调用像 Redis、Kafka、Dubbo 等时不会经过 Sidecar。同时,现在入流量拦截会导入到 Sidecar,这样在进行单个服务的压测时,不做入流量拦截也不会带来任何性能耗损。此外,基础架构团队还计划与容器团队一起试水 ebpf 方案,来进一步提升网络层性能。


安全方面,目前针对服务互调的场景,团队考虑对 Mesh 层进行 mTLS 安全认证。之前的认证体系更多是基于设备和系统的静态化体系,只涉及调用方和被调用方。认证授权小组计划结合基础架构团队,将服务、接口等的认证逻辑通过 MOSN 下沉到数据面进行处理,做到方法级流控。


带来了哪些改变


实际上,顺丰科技的 Service Mesh 探索不到半年,当初实现全链路功能的根本目标就已经达成。期间,Service Mesh 带给研发团队的改变也非常明显。


之前,研发需要做微服务框架的选型,选择各种服务治理、混沌工程和安全生产工具。现在,所有能力下沉到到 Service Mesh,业务通过流水线上订阅的方式,在使用 Spring Boot 或 Golong 应用时简单勾选监控、链路、治理等能力即可,不需要再自建和维护控制台。


还有,业务研发需要依赖中间件资源,之前要先去顺丰云申请,然后再对接各个专业组。现在希望也把这些能力直接下沉到 Sidecar 里面,通过 API 的方式暴露出来,业务需要时可以直接使用 API 市场相关的中间件接口,不必再去顺丰云申请。


除了顺丰云原生平台外,顺丰科技也把这种拿来即用的能力慢慢下沉到 IDE 插件里,本地开发中心可以直接通过插件进行部署交付,对底层基础设施基本无感知。


当然,顺丰科技的 Service Mesh 之路才刚刚开始,需要完善和改进的还有很多。比如后期团队将流量的调度和控制、中间件 API、认证授权等能力都放到了 Sidecar 里,数据面承担的职责过多,资源容易消耗过多;灰度出现问题后,数据如何恢复之类的问题并未没有得到很好地解决;团队的降级方案但还无法考虑到所有场景;个别非 HTTP 业务场景的处理还需要完善等。


顺丰云原生平台的目标是通过轻服务、分布式应用网格和应用编排三大核心产品,以及 One Id、One Agent、One Mesh、One Model、One Flow 五大技术体系,提供标准化、数字化和敏捷化的工具和场景化服务治理和运营管理体系,来持续改进业务质量。轻服务产品接入统一的、轻量协议瘦客户端即可轻松使用各种公共服务能力。应用网格产品无论在服务内外、云端或边端,所有治理能力都无感知接入,并很好地融入到场景中。



产品全景图


大规模落地之难


陈焕东坦言,随着 Service Mesh 应用体量的增大,需要考虑的事情也会越多,并不是简单“1+1=2”的问题。


目前,Service Mesh 大规模落地的方案还是不太理想。Service Mesh 落地试点之后,团队需要花大量的精力投入到 Service Mesh 性能、安全、稳定性以及与现有基础能力融合等方面。


基础设施层下沉到 Sidecar 意味着分工越来越细,那么治理面就要更加完备,引进市场上的开源产品只是解决了一些通用性的问题,和公司现有基础能力的适配,流程的整合,组织的匹配这些问题都需要一一解决。以顺丰科技为例,企业研发流程要求传递和兼容不同的流量标识,但开源产品里并没有。


各种原因都导致企业在接入 Service Mesh 时,通常要投入很大精力做二次开发,而最初可能十几个人的投入,经过一段时间后也会演变为成本问题。像顺丰云原生平台的投入也还在增加,预计到今年底小组人数将达到三四十人左右。


这也是阻碍 Service Mesh 全面落地的重要因素。对于中小企业来说,系统数量、人力资源可能没有那么多,更需要认真评估在 Service Mesh 上做投入是否划算。根据陈焕东在顺丰科技内的测算,Service Mesh 需要落地 200+ 系统才能使 ROI 达到平衡。陈焕东给中小企业的建议是,可以考虑“传统微服务框架+Service Mesh”的混合部署模式,等业务量上来后再慢慢迁移。


此外,有一点很重要,就是 Service Mesh 对基础设施团队是有一定要求的。像顺丰内部技术栈是 Java 为主,Go、Python 为辅,云原生技术研发和推广需要稀缺的云原生技术人才。同时顺丰内部存在不少老系统需要长期维护,这要求整个基础设施团队需要对公司现有的技术栈非常熟悉,又对云原生产品有深刻的理解。


当然在实际操作中,基础设施团队也会走一些弯路。比如很多团队更多从技术角度去开发 Service Mesh 的相关功能,并没有结合公司的业务研发习惯和治理流程,这也加大了推广的难度。


还有一些内部的系统经过长年积累,技术栈非常多,各部门的使用习惯完全不一样,要求业务研发按照某个维度进行改造并不现实。Service Mesh 使用还需要写 YAML 文件,这对非 Service Mesh 专业的业务团队来说是非常大的心智负担。诸如此类都是落地过程中存在的挑战。


总之,Service Mesh 在技术上比较依赖基础设施,组织上还需要公司各个研发部门达成共识。顺丰科技是成立了囊括各个研发部门技术骨干的技术委员会,通过这个委员会做标准化的推广和新技术的引进和落地。


杨定朝表示,团队并不是必须要实施 Service Mesh 的。Service Mesh 的使用代表着隐藏的技术底层越来越深,会增加业务研发的问题定位难度。另外,有些场景并不一定适合 Service Mesh,不恰当的使用不会得到意想中的效果。


结束语


“接入 Service Mesh,对我们云原生技术的发展有一个很好的承上启下的作用。”陈焕东表示。


目前,顺丰科技将顺丰云原生平台在内部“开源”,希望先通过“内源”的方式吸引其他业务部门一起协同共建。基础架构团队未来会以强组织管理和项目化运作两种模式展开工作。


今年下半年,顺丰科技将在 Service Mesh 研发提效方面持续投入,支持在线调测、环境隔离、低成本创新、跨集群通信、认证鉴权 Mesh、中间件 Mesh 等功能。业务连续性保障方面,Service Mesh 会聚焦在容灾多活、应用防护、混沌工程、问题排查和全域流量调度等精细化运维场景。


“我们的原则就是要先在一些业务单位试点,确实能达到业务预期、带来业务价值后,才会进行大规模推广。”陈焕东说道。面对未来的研发规划,团队上下对基础设施层带来的改变拭目以待。


采访嘉宾:


陈焕东,顺丰科技研发平台中心基础架构总工程师

杨定朝,顺丰科技研发平台中心后端高级研发工程师

相关资讯

顺丰科技ServiceMesh落地半年:最初目标已经实现,将继续探索

随着相关开源项目逐渐成熟,众多企业对 Service Mesh 跃跃欲试,其中不乏着手布局并投入实践的研发先锋,顺丰科技便是其中之一。顺丰科技在 2016 年底向云原生架构转型,开始了容器化建设,期间基于 Mesos 和 Marathon

顺丰半年报净利润跌八成,扣非净利润依旧为负竞争环境在浊化,顺丰时效件大旗还能扛下去?

8月23日,顺丰控股公布了2021年上半年财报。继第一季度财报报告首次出现亏损以来,顺丰控股实现了扭亏为盈,但出现了同比收入上升和净利润大幅下降的情况。作为中国快递价值竞争的模范,顺丰向来借助高时效件领先,建立了在中国航空货运的领先优势,但

「改革探索」村委会规范化建设的通城探索

通城县委组织部4月18日,按照参与人居环境整治、乡风文明建设等所得积分,通城县马港镇彭塅村村民从村委会的积分兑换超市选取心仪日用品。 (刘建平 摄)加强和推进村委会规范化建设是落实我国新时代三农工作的重要要求。近年来,通城县牢牢把握“抓村先

TCL科技上半年净利润猛增7.5倍设立微芯科技布局半导体

7月14日晚,TCL科技发布了2021年半年报预告,业绩大幅增长:今年上半年预计实现营收730亿元-750亿元,同比增长149%-156%;净利润约为91亿元-95亿元,同比增长了751%-789%;归母净利润约为65亿元-69亿元,同比增

TCL科技深度报告:聚焦高科技、长周期科技赛道

(报告出品方/作者:华西证券,宋辉、孙远峰、柳珏廷)01 公司概况战略:聚焦显示及半导体光伏、材料等高科技战略新兴产业公司已形成半导体显示、 半导体光伏及半导体材料以及产业金融/投资三个业务板块的战略布局, 为实现全球领先战略奠定了坚实基础

京东方A、TCL科技、蓝思科技、紫光国微,谁是科技突破龙头?

市场在近一段时间的连续上涨之后,出现高位振荡,打破了之前的连续阳线的单边上升趋势。不过,目前市场整体仍然处于板块轮涨阶段。在市场和强势板块出现回调之后,往往是比较好的短线介入时机。后续有望在震荡整理之后,继续延续趋势。同时,在大盘调整过程中

科技股回调再现投资机遇,部分公募基金及专户近期已加仓TCL科技、爱康科技

每经记者:任飞 每经编辑:叶峰6月24日,连续亢奋的科技股行情出现回调,科技50、科技100指数,以及各主要芯片ETF、半导体ETF等日内收跌,不过从业内视角看,板块整体估值已经有明显下行,围绕从题材向产能转移的投资逻辑,当下具备订单优势的

顺丰寄丢20克黄金只赔2000元!回应称已全额赔付、黄金已找到,网友:顺丰也不能信任了吗?

中国经济周刊—经济网讯 9月13日一早,“顺丰寄丢20克黄金保价八千只赔两千”的新闻冲上微博热搜。据悉,9月10日,杭州萧山的小刘在顺丰下单了一个同城急送的业务,把20克黄金送到住在拱墅区的一位客户住处。20克黄金,目前市场价值约8000元

顺丰控股拟将长沙物业注入顺丰房托,为何此时左手倒右手?

记者 | 于淼6月5日晚间公告显示,顺丰控股(002352.SZ)下属子公司顺丰丰泰产业园有限公司(下称“顺丰丰泰”),将通过向顺丰房地产投资信托基金(下称“顺丰房托”,证券代码“2191.HK”)下属子公司金紫荆物流控股有限公司(下称“

顺丰控股董秘回复:顺丰拥有中国最大、全球前列的货运航空公司,且为中国航空货运最大货主

顺丰控股(002352)06月27日在投资者关系平台上答复了投资者关心的问题。投资者:上周“微博CEO质问顺丰 千元到付包裹是不是骗钱”的消息登上热搜,虽然后面顺丰方面也及时回电和妥善处理,但此事件也从侧面凸显了顺丰目前阶段存在的问题,前期

顺丰“地位不保”,中通“薄利多销”反超顺丰,快递业价格战会淘汰谁?

中国经济周刊-经济网讯 (记者 郑扬波) 截至8月31日,A股上市公司的上半年业绩已经发布完毕。快递行业属于证监会行业分类里的交通运输一类,而在不同行业之间,净利润增长最快的就是交运板块。中通快递-SW(02057.HK)、韵达股份(002

顺丰如何拿下这个增长最迅猛市场?王卫:服务体验就是顺丰的生命

# 生鲜大战,顺丰如何成为绝对主角和主力?又到了松茸上市的季节,在云南香格里拉,首届香格里拉松茸论坛暨2022年顺丰松茸寄递解决方案发布会今天顺利举行。“始于松茸 不止于松茸”,迪庆将继续借力物流业务推动特色经济发展,依托香格里拉松茸产业的

IPO雷达|顺丰同城谋求独立赴港上市,顺丰控股默默包揽三成营收,报告期累计亏掉了近20亿

记者 | 张乔遇近日,中国最大的第三方即时配送服务平台顺丰同城已通过港交所聆讯,上市在即。若算上分拆上市的顺丰房托(02191.HK)和控股的国际物流公司嘉里物流(00636.HK),王卫即将拥有第4家上市公司。从成立到上市,顺丰同城只用

仅用半年!全省最大的钢桥梁制造基地在舟落地投产!

浙江省最大的千亩钢桥梁制造基地中铁宝桥(舟山)有限公司9月17日宣布正式投产作为落户舟山的重点工业企业,中铁宝桥舟山公司总投资8亿元,占地面积34.2万平方米,3000吨级原料码头和5000吨级港池式发运码头已全部打造完成。据了解,该公司之

茶园养鸡、绿色防控走出生态路科技服务茶产业链“515”行动在咸安区落地见效

正值夏茶生产期,咸宁市咸安区官埠村茶叶基地茶树长势喜人,鲜嫩欲滴,茶园周边林木葱茏,桂花、红叶石楠、杜仲等树种随处可见,不时看到几只鸡在茶行中悠闲觅食。这里是湖北省科技服务茶产业链“515”行动的主要示范区。今年,省农业农村厅在全省大力开展

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈湘潭新闻头条网橱柜品牌网林俊杰歌迷网英语培训网洗衣机品牌大全网蓝月亮洗衣液评测网塞浦路斯旅游网抽油烟机品牌网重庆旅游网布加迪威龙超跑王丽坤影迷网黄山毛峰官网婚礼策划网铁皮石斛资讯网钢管舞培训网
鹤壁新闻头条网-鹤壁作为一座花园城市,是全河南水资源最清洁、蓝天最多、最具安全感的城市。作为全球最大的金属镁基地,鹤壁的金属镁新材料还应用于智能手机、航空航天及导弹领域。鹤壁市另一个重要文化产业,主要集中在市区内的山城区。电影业在鹤壁能够扎根发展,与鹤壁清洁怡人的气候及地理环境有着极大的关系。
鹤壁新闻头条网 naosai.cn ©2022-2028版权所有