Nacos获取动态配置的小坑记录Docker安装nacos2版本的时候需要配置多个端口
在项目中,Nacos经常用来作为配置中心或者服务注册中心,虽然Nacos是用Java写的,但是同时Nacos官方提供了多语言的客户端SDK,因此Go来做微服务的时候也是会优先考虑;
我在集成Nacos到项目前,先进行了测试,我是在虚拟机中docker安装nacos服务端:
docker run --name nacos-standalone -e MODE=standalone -e JVM_XMS=512m -e JVM_XMX=512m -e JVM_XMN=256m -p8848:8848 -d nacos/nacos-server:latest
安装完成后,本机上访问 xxx:8848/nacos 没有问题:
于是尝试在Go里面获取在配置中心中注册的配置,比如现在这里获取user-web.yaml在dev group中的配置信息:
-
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"
-
)
-
-
func main() {
-
sc := []constant.ServerConfig{
-
*constant.NewServerConfig("192.168.1.120", 8848, constant.WithContextPath("/nacos")),
-
}
-
-
//create ClientConfig
-
cc := *constant.NewClientConfig(
-
constant.WithNamespaceId("efb95058-a55f-4840-a4f2-2c5faa2b0928"),
-
constant.WithTimeoutMs(5000),
-
constant.WithNotLoadCacheAtStart(true),
-
constant.WithLogDir("/tmp/nacos/log"),
-
constant.WithCacheDir("/tmp/nacos/cache"),
-
constant.WithLogLevel("debug"),
-
)
-
client, err := clients.NewConfigClient(
-
vo.NacosClientParam{
-
ClientConfig: &cc,
-
ServerConfigs: sc,
-
},
-
)
-
-
if err != nil {
-
panic(err)
-
}
-
-
content, err := client.GetConfig(vo.ConfigParam{
-
DataId: "user-web.yaml",
-
Group: "dev",
-
})
-
fmt.Println("GetConfig,config :" content)
-
-
}
这里面核心的 server的ip、port、namespace(可以同时监听多个namespace,这里我只监听一个)、然后配置文件的DataId和Group,这几个信息正确了就应该能正常读取到配置,但是问题是我这边运行会报一个错误:
Client not connected,current status:STARTING.
而且在输出的日志文件中,它显示在连接 9848 这个端口,按理说nacos的默认端口配置的不是8848吗,为什么会去连9848,后来在官方文档里发现了问题,目前的最新版本是nacos2,nacos2新增了gRPC通信方式,要额外占用两个端口,9848和9849,这是通过我们配置的默认端口8848偏移1000和1001得到的,然后前面docker中安装nacos的时候只转发了8848这个端口,9848和9949是没有开放的,自然请求不到这两个端口
解决办法就是:给nacos docker添加9848 和 9849两个端口,具体方法可以参考下面这篇:
至此,DEMO代码运行正常
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfhiie
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01