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实例
Endpointsstring是etcd地址
ConnectTimeouttime否连接超时时间10s
AuthBasicAuth否认证配置
Namespacestring否命名空间microservices
Ttlstring否授权存活时间15s
TlsClientTLSConfig否TLS支持
LoggerRefstring否引用的日志名称,用来根据名称获取日志实例默认打到控制台

BasicAuth​

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

ClientTLSConfig​

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

配置举例​

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

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