快速上手

首先,Sail 本质上就是把一些配置文件通过一定关系组织保存起来,方便管理。为此,需要简单了解下一下概念:

概念图

配置文件属于某个项目,一个项目下可以有很多配置文件,多个项目又组合成一个项目组。

有一些公共的配置文件,可以隶属于项目组,被组内的多个项目共同引用。

项目内的配置文件,通过命名空间分类,比如可以定义 dev(开发环境)、test(测试环境)、prod(正式环境)。

1. 建立项目组

建立项目组后,才能建项目,项目必须属于某个项目组。 建立项目组

2. 建立命名空间

建命名空间

接下来就是建立命名空间,注意,命名空间属于项目组,这个项目组的所有项目都会共享命名空间。

3. 建立项目、建立配置文件

接下来,建立项目,进入项目详情,就可以看到以下界面了:

项目详情

点击新增配置即可在某个命名空间下新增配置,支持加密的命名空间可以建加密配置,也可以关联某个公共配置。

4. 在代码里获取配置

接下来,如果你想在你的项目中获取到这些配置文件,可以使用 sail 的 client,目前只有 go 的 client。

sail-client-go

从 client 的视角来看,它需要知道获取哪个项目、哪个命名空间的哪些配置,如果配置加了密,还需要获取密钥。

这些数据难道要手动一个个去写吗?当然不需要,Sail 会告诉你。

源数据

这些数据我把它叫做元配置,点击项目详情页右上角的获取元配置,即可获取到 sail-client-go 启动所需的全部参数。

这些参数可以组织成toml环境变量启动参数sail-client-go也提供了对应的读取方式,方便接入者用各种方式传入。

比如:本地开发时,元配置组织成 toml 文件最方便。发到线上了,用启动参数环境变量的方式就比较方便,利于 CI/CD。

Client 支持Viper的 API,如果你原先就使用Viper读取配置,那接入是十分简单的。

Client 还支持把配置文件备份到某个路径,并实时更新。所以,如果你使用了confd等管理配置文件的方式,也还是可以简单的接入。甚至可以设置是把所有配置文件合并成一个,还是分开成不同的配置文件。

更详细的接入文档,Go →

接下来

参考 Go →