近期,首届稀土开发者大会以线上直播的方式召开。在为期两天的会议上,50余名技术专家围绕14大前沿专题展开交流。作业帮基础架构部架构研发负责人吕亚霖受邀参加,并在会上分享了作业帮在服务治理领域的探索和实践。
作业帮的服务治理挑战
作业帮成立于2015年,一直致力于用科技手段助力教育普惠,运用人工智能、大数据等前沿技术,为学生提供更高效的学习解决方案。像大多数互联网技术企业一样,随着业务发展,作业帮的服务规模也跟随业务快速增长,发展到现在有数千个业务服务,数万个实例,几十万核。
“作业帮服务治理的挑战在于,在业务快速变化下,控制整体架构复杂度,只有控制住服务架构的复杂度,才能保证服务稳定性,提升研发和运行效率。”吕亚霖说,基于这样的现状,做好服务治理需要有两个重要的抓手。
首先是服务治理能力,用基础设施接管业务中大量非功能逻辑,低入侵,无感升级来实现流量调度、弹性、可观测、韧性、自动化、可持续等特性。二是微服务框架,用微服务框架来提升服务性能、研发效率,同时落地标准规范和架构思想,便于加快服务治理方案落地。
推广微服务框架 控制节奏
服务治理包含很多部分,其中关键的是服务观察、服务间通信、服务注册发现、服务网格。服务治理的核心作用是对应用赋能,提升应用的稳定性效率。而另外一个关键点是应用框架,应用框架是服务治理落地的一个很核心的步骤。
作业帮初期因业务快速发展,采用PHP作为服务端主要开发语言和框架,很好支撑了业务的迭代发展。但随着业务发展,以ODP为代表的PHP服务端技术栈遇到了一些问题,主要涉及服务化、运行性能、云原生架构等方面。
“这些问题推动我们向以go语言为代表的微服务框架演化,我们基于gin实现了公司级web应用框架zgin,zgin的推广改善了问题,形成了正循环。”吕亚霖说,在推广微服务框架的时候,面临很多问题和困难。
首先很多业务服务上他们已经有了自己的框架,他们需要使用新框架来替换掉老框架,肯定是有疑虑和工作量的。所以在推广的过程中,需要重视它的稳定性和性能,很多组件都做了深度优化,包括它的路由组件、日志组件。同时控制灰度和放量节奏,小规模试点,快速迭代优化,稳定后再全面推广。
机器故障影响时间从分钟级缩短到秒级
对于服务治理的收益,吕亚霖表示,首先是稳定性提升,SLA从99.95%提升到99.99%,机器故障的影响时间从分钟级缩短到秒级,部署质量大幅度提升。其次是性能提升,服务运行态规范落地,首次建连成功率从99.9%提升到99.999%,接口响应下降20%,服务CPU高峰下降20%。此外,成本也随之降低。PHP业务资源使用下降43%,碎片化降低,具备了性能优化统一抓手。切换成本从月级别降低到周级别,实现单云故障的应急预案,多云服务调用关系清晰。
谈到对未来的展望,吕亚霖表示,Go微服务框架进一步提升,很多时候我们涉及到高并发和低时延服务,需要更多的runtime层的优化能力。通用Servicemesh的全业务全流量覆盖,现在只覆盖了RPC的流量,mysql、redis等数据存储流量还没有经过servicemesh,这也是公司后面的一个发力点。
对于服务感知的AI评价改进能力,吕亚霖表示,在具备服务感知能力后,团队发现很多时间业务研发需要一些改进指导。“如何去做优化,如何调整代码,这块涉及到很多算法策略,如果能补齐这块能力,我们就具备从分析问题到解决问题的闭环处理。”
据了解,稀土开发者大会由稀土掘金技术社区主办,大会面向开发者社区的新生中坚力量,旨在帮助研发团队骨干拓宽视野,实现跨越式成长。首届稀土开发者大会以“技术未来,向新而生”为主题,议题涵盖低代码、混沌工程、云原生、微服务、Java实战、分布式数据库、大前端、音视频、业务架构、团队建设与管理等。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.