在golang中使用 NACOS 管理项目的配置文件

在golang中使用 NACOS 管理项目的配置文件

nacos go

1
go get github.com/nacos-group/nacos-sdk-go/v2@v2.2.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package main

import (
"fmt"
"github.com/nacos-group/nacos-sdk-go/v2/clients"
"github.com/nacos-group/nacos-sdk-go/v2/common/constant"
"github.com/nacos-group/nacos-sdk-go/v2/vo"
)

// NACOS 2.2.2
func main() {

//create clientConfig
clientConfig := constant.ClientConfig{
NamespaceId: "", //we can create multiple clients with different namespaceId to support multiple namespace.When namespace is public, fill in the blank string here.
TimeoutMs: 500,
NotLoadCacheAtStart: true,
LogDir: ".",
CacheDir: ".",
LogLevel: "debug",
Username: "nacos",
Password: "nacos",
}

// At least one ServerConfig
serverConfigs := []constant.ServerConfig{
{
IpAddr: "172.25.89.138",
ContextPath: "/nacos",
Port: 8848,
Scheme: "http",
},
//{
// IpAddr: "console2.nacos.io",
// ContextPath: "/nacos",
// Port: 80,
// Scheme: "http",
//},
}

configClient, err := clients.NewConfigClient(
vo.NacosClientParam{
ClientConfig: &clientConfig,
ServerConfigs: serverConfigs,
},
)
if err != nil {
panic(err)
}
// 添加修改配置文件
ok, err := configClient.PublishConfig(vo.ConfigParam{
DataId: "config_pre.yaml",
Group: "DEFAULT_GROUP",
Content: `ddd:123`,
})
if err != nil {
panic(err)
}
fmt.Println(ok)
// 查找配置文件
data, err := configClient.GetConfig(vo.ConfigParam{
DataId: "config_pre.yaml",
Group: "DEFAULT_GROUP",
})
if err != nil {
panic(err)
}
fmt.Println(data)
// 监听配置文件变动
err = configClient.ListenConfig(vo.ConfigParam{
DataId: "config_pre.yaml",
Group: "DEFAULT_GROUP",
OnChange: func(namespace, group, dataId, data string) {
fmt.Println("group:" + group + ", dataId:" + dataId + ", data:" + data)
},
})
if err != nil {
panic(err)
}
select {}
}



在golang中使用 NACOS 管理项目的配置文件
https://maocat.cc/2022/02/26/blog/golang/nacos_demo_golang/
发布于
2022年2月26日
许可协议