slime-io / slime

An intelligent ServiceMesh manager based on Istio
https://slime-io.github.io/
Other
427 stars 80 forks source link
cloudnative istio kubernetes microservice servicemesh

智能网格管理器

English

slime-logo

Go Report Card License GitHub release (latest by date)


Slime 定位是服务网格智能管理器,构建在服务网格之上。Slime 专注于以无侵入、智能化方式扩展并增强服务网格的核心功能(流量治理、安全性、可观测性)、性能、稳定性与运维性。Slime 简化业务接入与使用服务网格,并在生产环境大规模稳定运行服务网格提供管理保障。此外,Slime 通过精心设计的扩展机制,使业务不需要对服务网格基础框架进行修改,即可为服务网格赋予智能化使用与运维能力。

为什么选择Slime

服务网格作为新一代微服务架构,实现了业务逻辑和微服务治理逻辑的解耦,降低了微服务的开发与运维成本。但我们在帮助业务团队使用服务网格,并进行生产落地的过程中,发现现有服务网格平台仍然存在着许多问题:

为此,我们开发了很多的服务网格周边模块,解决了这些问题,保证运行在服务网格之上的企业业务能够平稳运行,并且设计的扩展机制不需要侵入框架原生代码。为了回馈社区,我们系统整理了解决共性问题的核心模块,开源出来,这便有了 Slime 项目。

该项目是基于 k8s-operator 实现的,可以无缝对接 Istio,无需任何的定制化改造

Slime 核心能力包括智能流量管理、智能运维管理、智能扩展管理:

目前我们开源了自适应限流、配置懒加载、网格(服务)仓库、i9s、Http插件管理,后续我们会开源更多的功能模块。

架构

Slime架构主要分为三大块:

  1. slime-boot,部署Slime(slime-modules和slime-framework)的Operator组件。
  2. slime-modules,Slime的核心线程,感知SlimeCRD并转换为IstioCRD,并触发内置的其他逻辑。
  3. slime-framework,作为底座,为modules提供通用的基础能力。

其架构图如下:

slime架构图

Slime支持聚合打包,可以将任意模块聚合成一个镜像。所以,Slime可以以一个Deployment形式部署,避免组件过多。

教程

slime网站

Slime镜像信息

Slime-boot安装

Slime-module

E2E测试教程

编译构建slime镜像

具体请参考编译构建slime镜像

贡献代码

如果您有兴趣向Slime项目贡献代码,请先阅读 CONTRIBUTING_GUILDLINES

谁在使用Slime

我们十分期待你提交你的使用案例,让我们一起来完善这个列表。#190

交流

证书

Apache-2.0

行为准则

我们遵循 CNCF Community Code of Conduct.