Skip to main content

etcd

我们使用etcd实现了我们的服务组册发现接口。并且为其适配了自动注册的rms包的实现。

如何使用

自动注册

在使用的过程中,我们只需要将rms下的sd etcd导入到主程序中,比如

import (
_ "path/to/r/rms/sd/etcd"
)

func main() {
.....
}

主程序运行过程中会根据配置中的数据,创建对应的实例,并且放到内存中。我们在使用的过程中, server通过registrarRef配置参数获取注册中心实例 , client通过discoveryRef配置参数获取服务发现实例,我们不需要手动获取实例。

配置参数

主配置

参数类型是否必填含义默认值
Namestring服务发现名称,用来获取sd实例
Endpointsstringetcd地址
ConnectTimeouttime连接超时时间10s
AuthBasicAuth认证配置
Namespacestring命名空间microservices
Ttlstring授权存活时间15s
TlsClientTLSConfigTLS支持
LoggerRefstring引用的日志名称,用来根据名称获取日志实例默认打到控制台

BasicAuth

参数类型是否必填含义默认值
Usernamestring用户名
Passwordstring密码

ClientTLSConfig

参数类型是否必填含义默认值
CertFilestring证书路径
ServerNamestringserver名称

配置举例

[[ngo.microservices.sd.etcds]]
name = "etcd"
endpoints = [ "127.0.0.1:2379" ]
namespace = "microservices"
ttl = "15s"
loggerRef = ""

目前我们支持了同一个应用的多sd, 因此你可以在toml配置文件中配置多个。