feat: registry.
This commit is contained in:
48
registry/nacos/client_creator.go
Normal file
48
registry/nacos/client_creator.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package nacos
|
||||
|
||||
import (
|
||||
"github.com/go-kratos/kratos/v2/log"
|
||||
|
||||
nacosClients "github.com/nacos-group/nacos-sdk-go/v2/clients"
|
||||
nacosConstant "github.com/nacos-group/nacos-sdk-go/v2/common/constant"
|
||||
nacosVo "github.com/nacos-group/nacos-sdk-go/v2/vo"
|
||||
|
||||
conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1"
|
||||
)
|
||||
|
||||
// NewRegistry 创建一个注册发现客户端 - Nacos
|
||||
func NewRegistry(c *conf.Registry) *Registry {
|
||||
if c == nil || c.Nacos == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
srvConf := []nacosConstant.ServerConfig{
|
||||
*nacosConstant.NewServerConfig(c.Nacos.Address, c.Nacos.Port),
|
||||
}
|
||||
|
||||
cliConf := nacosConstant.ClientConfig{
|
||||
NamespaceId: c.Nacos.NamespaceId,
|
||||
TimeoutMs: uint64(c.Nacos.Timeout.AsDuration().Milliseconds()), // http请求超时时间,单位毫秒
|
||||
BeatInterval: c.Nacos.BeatInterval.AsDuration().Milliseconds(), // 心跳间隔时间,单位毫秒
|
||||
UpdateThreadNum: int(c.Nacos.UpdateThreadNum), // 更新服务的线程数
|
||||
LogLevel: c.Nacos.LogLevel,
|
||||
CacheDir: c.Nacos.CacheDir, // 缓存目录
|
||||
LogDir: c.Nacos.LogDir, // 日志目录
|
||||
NotLoadCacheAtStart: c.Nacos.NotLoadCacheAtStart, // 在启动时不读取本地缓存数据,true--不读取,false--读取
|
||||
UpdateCacheWhenEmpty: c.Nacos.UpdateCacheWhenEmpty, // 当服务列表为空时是否更新本地缓存,true--更新,false--不更新
|
||||
}
|
||||
|
||||
cli, err := nacosClients.NewNamingClient(
|
||||
nacosVo.NacosClientParam{
|
||||
ClientConfig: &cliConf,
|
||||
ServerConfigs: srvConf,
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
reg := New(cli)
|
||||
|
||||
return reg
|
||||
}
|
||||
Reference in New Issue
Block a user