java springboot nacos

    本文主要讲解Springboot集成Nacos技术实现及常见问题

                                                                                                            

  • 软件版本

  1. springboot 2.1.3

  2. nacos 2.0.0

  3. nacos-config-spring-boot-starter 0.2.7

     

  • 项目配置

 

maven依赖

<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>nacos-config-spring-boot-starter</artifactId>
    <version>0.2.7</version>
    <exclusions>
        <exclusion>
            <artifactId>spring-boot-starter-logging</artifactId>
            <groupId>org.springframework.boot</groupId>
        </exclusion>
        <exclusion>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-spring-context</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>2.0.0</version>
</dependency>
<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-spring-context</artifactId>
    <version>1.1.0</version>
</dependency>

 

由于我本地的dubbo是2.7.10所以有依赖冲突,必须引入nacos-spring-context的高版本

 

属性文件配置

 

#nacos
nacos.config.username=nacos
nacos.config.password=nacos
nacos.config.bootstrap.log-enable=true
nacos.config.server-addr=172.128.1.250:8848
nacos.config.auto-refresh=true
nacos.config.namespace=yzt
nacos.config.group=wbs
nacos.config.data-id=testProvider
nacos.config.type=properties
#使用本地配置
#spring.profiles.active=local

 

注解有提供@EnableNacosConfig但是我的启动类并没有引用,照样会加载nacos的配置,所以不清楚

到此程序的配置完成!

 

3 接下来是docker安装nacos2.0.0

  • 直接使用docker命令拉去2.0.0版本的镜像包即可docker search nacos可查看所有

  • 启动命令为

docker run --restart always -d --env MODE=standalone --env NACOS_AUTH_ENABLE=true -p 8848:8848 -p 9848:9848 -p 9849:9849 --name nacos  nacos/nacos-server

 

我这里测试分别创建两个容器

nacos为开启鉴权

nacos2未开启鉴权

 

注意  : 研究过程中被这里坑了大半天时间,没有端口映射鉴权一直401

大家也看到了启动命令和老版本的不太一样,多了鉴权配置和端口映射,2.0新版 除了端口 8848外,还有增加偏移量为1000和1001的端口, 9848  9849两个端口号,docker容器要增加 宿主机的端口映射,NACOS_AUTH_ENABLE为是否启用鉴权访问功能,就是要不要先登陆,true就需要配置用户名密码,false不需要

 

安装好后的样子

注意  : 研究过程中被这里也坑了

nacos提供了默认的命名空间 public,不知道大家有没有注意到,这个默认的public的id是空的,所以如果使用默认的命名空间,本地配置的namespace必须为空,否则就会提示 config data not exit

 

nacos.config.namespace=

建议大家创建命名空间,不要使用默认的,容易误导后人

 

 

===========================

下面是应用系统的整体配置

 

本地只需要配置nacos的信息

nacos创建的配置

 

启动后,端口号应用了nacos配置文件的5000端口

 

测试打印配置是否会热加载

nacos配置

 

测试@Value 无法自动拿到最新的数据,这里就不展示了

必须使用nacos提供的注解,并开启自动刷新,才能实时拿到最新值

@NacosValue(value = "${wbs.basePath}", autoRefreshed = true)

 

可以看到目前是nacos的数据

 

 

nacos更新

 

再次调用接口查看,可以看到加载了nacos更新的数据

 

到此所有配置及测试完成,有不对的欢迎指正,或发邮箱

 

邮箱:ayuan19891029@163.com

作者:渊

求打赏

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值