近日,网易数帆旗下轻舟云原生团队宣布开源其服务网格(Service Mesh)组件Slime,扩展云原生社区生态,帮助用户降低体验服务网格、驾驭云原生技术的门槛。
Slime是一个为简化云原生而生的智能网格管理器,可以通过服务监控自动感知服务状态智能调整服务治理策略,实现Istio/Envoy的高阶功能。
网易数帆副总裁、网易轻舟事业部总经理陈谔表示:“现阶段的云原生实践,主要是基于Kubernetes解决微服务化之后的运维复杂性问题,以Istio/Envoy为代表的服务网格提供了服务治理能力下沉的平台。我们开源Slime项目,旨在回馈社区,让网格的管理更加灵活、高效和智能,能够更为贴近企业的数字化业务。”
增强可运维性,无缝对接Istio
在服务网格技术的发展过程中,Istio 项目由于其大厂背景和良好的架构设计,受到了业界广泛的期待,然而易用性、可运维性和性能等问题制约了项目的普及程度。Slime项目是轻舟服务网格/Envoy网关落地的成果,解决了大规模网格场景下需推送海量配置的问题,基于服务运行指标数据提供自动调整配置、智能化管理网格的能力,从而降低运维人员的心智负担。
为保证版本长期演进,避免对原生组件侵入,轻舟团队设计了模块化、可插拔的Istio扩展机制,作为后续扩展功能的基础机制。Slime目前包含三个非常实用的子模块。
配置懒加载:基于服务拓扑自动划分服务感知范围,结合兜底路由实现配置按需加载,不再需要手动配置SidecarScope。
HTTP插件管理:使用新的的CRD pluginmanager/envoyplugin包装了可读性、可维护性较差的envoyfilter,使得插件扩展更为便捷。
自适应限流:根据服务运行指标数据智能判断服务是否需要限流,并触发相应的限流策略。
网易轻舟微服务技术负责人冯常健表示,Slime项目是基于Kubernetes Operator实现的,可以作为Istio的CRD管理器,无缝对接Istio,无需任何的定制化改造。
兼具网格网关能力,应用于多行业
Slime源自轻舟团队较多通用化积累,且同时具备服务网格、API网关能力,轻舟Service Mesh、轻舟API网关就是基于Istio和Envoy、采用Slime的扩展能力研发的两款产品,得益于Slime的能力,前者在自适应限流、插件管理等方面表现出色,后者能够为业务稳定提供API入口流量代理、服务治理、流量观测等能力。
轻舟API网关已全面应用于网易新闻客户端、严选、LOFTER、有道、云信等多个核心业务的全站入口流量接入,也成为了深圳证券交易所、百胜中国等多个业界龙头企业的商业API网关选型,并于2020年获得了中国信息通信研究院颁发的“OSCAR尖峰开源技术创新奖”。
网易严选场景下,借助Slime的配置懒加载模块,应用启动时间由分钟级降低至秒级,数据面内存下降80%,控制面推送时内存下降70%;基于HTTP插件管理,轻舟API网关弥补了Istio社区自定义插件扩展的短板。在传媒场景下,Slime的自适应限流模块使得服务维度的智能限流得以实现。
坚持开放,回馈社区
从容器、微服务/网格到无服务器计算,轻舟团队在云原生软件生产力的实践中一直坚持“基于开源、兼容开源”的技术思想。Slime开源之前,其相关能力在社区还是一个空白,如配置懒加载,或较为薄弱,如社区原生限流能力。在Istio生态,近期已有多位开发者注意到了这些痛点,提出了类似Slime的issue。Slime的开源,既代表了轻舟团队在服务网格与API网格层面的实践与探索的领先水准,也体现了团队坚持开放、回馈社区的理念。
事实上,伴随着服务网格和API网关的实践,轻舟团队近3年在Istio和Envoy社区已持续做出多项贡献,团队希望共同做大云原生生态,并基于开源生态为客户提供更优质的可持续演进的技术方案。
现在开发者可以通过GitHub获得Slime的源码:https://github.com/Slime-io/Slime,或者遵循指引文档快速上手体验项目。
冯常健表示,目前Slime仍处于早期阶段,轻舟团队后续会开放更多的实用功能到Slime中,同时也希望有更多的开发者加入项目或提出建议,共同将其完善,帮助用户更好地驾驭Istio这艘小帆船,落地服务网格技术,实现云原生的业务价值。