
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 安装
命令如下:
| 12
 3
 4
 5
 6
 7
 
 | docker run --name nacos-standalone -e MODE=standalone -e JVM_XMS=128m -e JVM_XMX=128m -e JVM_XMN=128m -p 8848:8848  -p 9848:9848 -p 9555:9555 -d nacos-server:lates
 
 
 
 docker run --name nacos-standalone -e MODE=standalone  -p 8848:8848 -p 9848:9848 -p 9555:9555  -e JVM_XMS=128m -e JVM_XMX=128m -e JVM_XMN=128m -d nacos/nacos-server:v2.1.0-slim
 
 
 | 
登录访问
安装成功后,通过浏览器访问 http://127.0.0.1:8848/nacos
初始账号/密码 nacos/nacos
如下图所示:

配置管理 public 之后的 goods、order 等是我本地创建的,你未创建是没有的。
新增配置
选择命名空间新建一个属于自己的空间,命名空间 ID 可以让他自己生成。

点击配置管理里的配置列表,根据自己创建的命名空间,点击 ➕ 号新增配置。

根据自己项目的需求进行增加配置。

创建好了之后,接下来编写一个简单的事例来进行测试吧。
配置 Go 语言客户端
Nacos-sdk-go 是 Nacos 的 Go 语言客户端,它实现了服务发现和动态配置的功能。
安装
使用 go get 安装 SDK:
go get -u github.com/nacos-group/nacos-sdk-go
快速使用
| 12
 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
 
 | package main
 import (
 "fmt"
 "time"
 
 "github.com/nacos-group/nacos-sdk-go/clients"
 "github.com/nacos-group/nacos-sdk-go/common/constant"
 "github.com/nacos-group/nacos-sdk-go/vo"
 )
 
 func main() {
 sc := []constant.ServerConfig{
 {
 IpAddr: "127.0.0.1",
 Port:   8848,
 },
 }
 
 clientConfig := constant.ClientConfig{
 NamespaceId:         "e32e16ee-2bba-4fec-8db3-5466af005380",
 TimeoutMs:           5000,
 NotLoadCacheAtStart: true,
 LogDir:              "tmp/nacos/log",
 CacheDir:            "tmp/nacos/cache",
 LogLevel:            "debug",
 }
 
 
 configClient, err := clients.NewConfigClient(
 vo.NacosClientParam{
 ClientConfig:  &clientConfig,
 ServerConfigs: sc,
 },
 )
 if err != nil {
 panic(err)
 }
 
 content, err := configClient.GetConfig(vo.ConfigParam{
 DataId: "user-service",
 Group:  "dev"})
 
 if err != nil {
 panic(err)
 }
 
 fmt.Println(content)
 
 
 err = configClient.ListenConfig(vo.ConfigParam{
 DataId: "user-service",
 Group:  "dev",
 OnChange: func(namespace, group, dataId, data string) {
 fmt.Println("config changed group:" + group + ", dataId:" + dataId + ", content:" + data)
 },
 })
 
 time.Sleep(3000 * time.Second)
 if err != nil {
 panic(err)
 }
 }
 
 
 | 
运行代码结果如下:

可以看到它成功的输出了我的配置,你可以自己修改一下,看看打印的结果会不会监听到并输出不一样的结果。
关注我获取更新
