Slime:让 Istio 服务网格变得更加高效与智能

Slime是网易轻舟微服务团队开源的智能服务网格管理器,旨在简化云原生环境下的服务治理。它提供了配置懒加载、Http插件管理和自适应限流等功能,解决Istio在大规模服务治理中的性能和易用性问题。通过全局共享的sidecar实现配置按需加载,通过PluginManager和EnvoyPlugin简化插件管理,以及利用监控数据实现自适应限流策略。
摘要由CSDN通过智能技术生成

Slime 是网易数帆旗下轻舟微服务团队开源的服务网格组件,它是一个为简化云原生而生的智能网格管理器,可以通过服务监控自动感知服务状态智能调整服务治理策略,实现Istio/Envoy的高阶功能。

目前slime 包含三个非常实用的子模块:

  1. 配置懒加载:无须手动配置 SidecarScope,按需加载配置和服务发现信息
  2. Http插件管理:使用新的 CRD pluginmanager/envoyplugin 包装了可读性,可维护性较差的 envoyfilter,使得插件扩展更为便捷
  3. 自适应限流:结合监控信息自动调整限流策略

1. 背景

服务网格作为新一代微服务架构,采用 sidecar 模式,实现了业务逻辑和微服务治理逻辑的物理解耦,降低微服务框架的开发与运维成本。权责清晰,易维护,可观测,多语言支持等一些列优势使其逐渐成为微服务话题中的焦点。而 Istio+Envoy 作为其使用最为广泛的实现一直占据着 C 位,背靠 Google 的大树,Istio 已隐隐具备了成为业界标准的趋势。

欲戴皇冠,必承其重。站在风口浪尖的 Istio,获得赞誉的同时也引来了不少非议。项目的优势自不必说,Istio 有着一套行之有效的上层抽象,通过配置VirtualService,DestinationRule 等 CR 可以实现版本分流,灰度发布,负载均衡等功能,但是在面对本地限流,黑白名单,降级等微服务治理的高阶功能时,这套抽象显得力有不逮,起初 Istio 给出的解决方案是 Mixer,将这些原本属于数据面的功能上升到 Mixer Adapter 中,虽然解决了功能扩展的问题,但其集中式的架构遭到了不少关注者对其性能的质疑。最终,Istio 在新版本中自断其臂,弃用了 Mixer,这就使得高阶功能的扩展成为目前版本的一块空白。另一方面 Istio 配置是全量推送的,这就意味着在大规模的网格场景下需推送海量配置,为了减少推送配置量,用户不得不事先搞清楚服务间的依赖关系,配置SidecarScope 做配置隔离,而这无疑增加了运维人员的心智负担,易用性和性能成为不可兼得的鱼和熊掌。

针对 Istio 目前的一些弊端,网易团队开启了 slime 项目。该项目是基于 k8s-operator 实现的,作为 Istio 的 CRD 管理器,可以无缝对接 Istio,无需任何的定制化改造。slime 内部采用了模块化的架构,目前包含了三个非常实用的子模块:

  1. 配置懒加载:无须手动配置 SidecarScope,按需加载配置信息和服务发现信息,解决了全量推送的问题。
  2. Http 插件管理:使用新的 CRD pluginmanager/env
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网易杭研

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值