soul网关学习12-配置数据同步2-Nacos_1

今天要分析soul网关中配置数据同步的另外一种方式,基于Nacos的。
我们先简单的看下Nacos是什么。

Nacos

  • 附上从官网抠的一张图


    Nacos introduce
  • 大家感兴趣的可以移步至Nacos官网,能有更加准确以及详细的认知。
  • docker安装nacos
  • nacos安装完毕,进入正题。。。

使用

soul-admin

  • 配置


    admin.applicaiton.sync-nacos
  • 启动后,我们发现没有什么特别的地方,nacos控制台上面也没有任何admin的信息产生

soul-bootstrap

  • 引入依赖
        
        
            org.dromara
            soul-spring-boot-starter-sync-data-nacos
            ${project.version}
        
  • 配置


    bootstrap.applicaiton.sync-nacos
  • 不幸,没有启动起来,报了如下错误

Caused by: java.lang.NullPointerException: null
at org.dromara.soul.sync.data.nacos.handler.NacosCacheHandler.updatePluginMap(NacosCacheHandler.java:90) ~[classes/:na]
at org.dromara.soul.sync.data.nacos.handler.NacosCacheHandler.watcherData(NacosCacheHandler.java:167) ~[classes/:na]
at org.dromara.soul.sync.data.nacos.NacosSyncDataService.start(NacosSyncDataService.java:56) ~[classes/:na]
at org.dromara.soul.sync.data.nacos.NacosSyncDataService.(NacosSyncDataService.java:49) ~[classes/:na]
at org.dromara.soul.springboot.starter.sync.data.nacos.NacosSyncDataConfiguration.nacosSyncDataService(NacosSyncDataConfiguration.java:66) ~[classes/:na]

  • 先解决该问题,重新拉一下官网仓库代码,这下又好了。看起来soulnacos同步功能就是最近开发的,还在迭代中
  • 启动日志中有如下日志


    sync-data-nacos
  • 再次看nacos控制台,nothing
  • 有些不正常,进入debug,发现soul-bootstrap实际上是能获取到soul-admin上的配置数据的
    debug-nacos-configInfo
  • 于是再次到nacos控制台,发现有个【命名空间】的页面
    nacos-console
  • 还记得我们在配置soul-adminsoul-bootstrap中的nacos时,也配置了一个命名空间,怀疑这货是需要手动添加的,不能自动新增到nacos的控制台
  • 于是手动创建命名空间,将我们配置文件中的命名空间1c10d748-af86-43b9-8265-75f487d20c6c新增进去
    nacos-namespace-add
  • 命名空间如下


    nacos-namespace
  • 再次进入到【配置管理】->【配置列表】,并切换到soul空间,soul-admin终于出现在nacos控制台上面了
    nacos-soul-config
  • 查看一条具体的配置soul.plugin.json
    nacos-soul.plugin.json
  • 我们去soul-admin端测试一下,配置的修改是否会同步到nacos
  • 我们将sentinel插件置为开启
    soul-admin.plugin.sentinel.open
  • 再次看nacos控制台,发现配置已修改
    nacos.plugin.sentinel.open
  • 用版本比对查看更直观


    nacos.config.versionCompare
  • 没有我想象中的直观 ,要是能将json格式化一下,并且按field排序展示更好了(>_<)

总结

关于使用这块就先到这里吧,主要就讲了下soul如何应用nacos去作为数据同步的机制,以及nacos本身的一些介绍。下面再去分析nacos配置数据同步的实现。

To be continued...

你可能感兴趣的:(soul网关学习12-配置数据同步2-Nacos_1)