昨天只是简单看下 nacos 同步那块代码,今天准备跑起来看看。

首先从官网下载 nacosnacos 下载很方便,这是 windows 下载地址

下载解压到一个目录,当前目录打开 cmd 窗口,运行 startup.cmd -m standalone,就可以启动 nacos 了,启动完成,浏览器访问 http://localhost:8848/nacos 即可进入 nacos 管理后台,用户名密码都是 nacos

nacos 服务启动后, 就去启动了 soul-adminsoul-bootstrap 项目。

但是启动 soul-examples-http 时,发现 soul-admin 这边有报错。

后来才发现是有个bug,需要拉取最新代码。。。

更新完代码,maven 依赖下了好久。

拉完代码,发现主要是 NacosDataChangedListener 加了一段这个,避免了之前的空指针异常。

private static final String EMPTY_CONFIG_DEFAULT_VALUE = "{}";

@SneakyThrows
private String getConfig(final String dataId) {
   String config = configService.getConfig(dataId, GROUP, 6000);
   return StringUtils.hasLength(config) ? config : EMPTY_CONFIG_DEFAULT_VALUE;
}

但我中间调试时,发现一个很奇怪的问题,我 yml 文件里只开启了 nacos 同步数据,但 listenerers 却有两个值。这个明天调试下看看是什么问题。

我 debug 的时候,可以看到 NacosDataChangedListener 在同步数据了,configService 也可以获取到存在 nacos 的数据,更改数据时,也能更新到 jvm 内存中,但不知道为什么 nacos 管理台还是看不到数据。

今天其实也还没有跑通 nacos ,由于对这个不熟悉,踩了不少的坑,明天再详细看下具体原因。