Slime-io服务网格组件

联合创作 · 2023-09-27 11:40

Slime 是网易数帆旗下轻舟微服务团队开源的服务网格组件,它可以作为 Istio 的 CRD 管理器,旨在通过更为简单的配置实现 Istio/Envoy 的高阶功能。目前 slime 包含三个非常实用的子模块:

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

架构

Slime架构主要分为三大块:

  1. slime-boot,部署slime-module的operator组件,通过slime-boot可以便捷快速的部署slime-module。
  2. slime-controller,slime-module的核心线程,感知SlimeCRD并转换为IstioCRD。目前slime-controller已经细化为各个模块的controller,slime作为framework提供通用的基础能力。
  3. slime-metric,slime-module的监控获取线程,用于感知服务状态,slime-controller会根据服务状态动态调整服务治理规则。指标来源支持Prometheus或者Accesslog。

其架构图如下:

使用者将服务治理策略定义在CRD的spec中,同时,slime-metric获取关于服务状态信息,并将其记录在CRD的metricStatus中。slime-module的控制器通过metricStatus感知服务状态后,将服务治理策略中将对应的监控项渲染出,并计算策略中的算式,最终生成治理规则。

浏览 2
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报