nacos服务中心和注册中心

前言

Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是使用 java 编写。所以也是需要依赖 java 环境的:
关于Java环境变量,请看之前写的内容:
Nacos 文档地址: https://nacos.io/zh-cn/docs/quick-start.html

下载

https://github.com/alibaba/nacos/releases

启动

双击 bin 中的 startup.cmd 文件

访问 http://localhost:8848/nacos/
使用默认的 nacos/nacos 进行登录

一、nacos作为服务中心操作

1.添加依赖

<!--Spring-could-alibab-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.1.0.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

<!--服务注册发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2.添加配置信息

yml文件

spring:
  application:
    name: test
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

注意:spring.application.name是必须要写的,作用是给服务起个名称。不写的话,nacos不知道叫什么就注册不上。

3.开启服务注册发现

在启动类上加入@EnableDiscoveryClient注解,不加注解是注册不上的。

@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
public static void main(String[] args) {
    SpringApplication.run(ProviderApplication.class, args);
}
}

4.启动服务

自此,服务就注册上来了。

二、nacos作为配置中心操作

1.添加依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2.创建一个名为bootstrap.properties文件

加入下方内容

注意:spring.application.name的名称要和下方在nacos文件创建的配置文件名称保持一致。

比如:我的叫test,nacos中创建的叫 test.properties

# 服务名称,,nacos-config-example要填写成自己的服务名称哦
spring.application.name=nacos-config-example
# 地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

3.在nacos中创建一个配置文件

4.动态获取配置

在需要动态获取的类似添加注解

@RefreshScope:动态获取并刷新配置

@Value("${配置项的名称}"):获取到配置

例如:

@RefreshScope
@RestController
@RequestMapping
public class TestController {
    @Autowired
    private CouponService couponService;

    @Value("${test.user.name}")
    private String name;

    @Value("${test.user.age}")
    private Integer age;

    @RequestMapping("/test")
    public Map test() {
        return new HashMap().put("name", name)).put("age", age);
    }
}

我配置的nacos中的文件内容如下:

运行结果

三、扩充学习

SpringBoot配置文件执行顺序:

1、SpringBoot的总体读取顺序优先级包外大于包内,properties大于yml。
2、 SpringBoot的总体读取顺序如下所示:

config/application.properties(项目同级目录中config目录下)
config/application.yml
application.properties(项目同级目录下)
application.yml
resources/config/application.properties(项目resources目录中config目录下)
resources/config/application.yml
resources/application.properties(项目的resources目录下)
resources/application.yml

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值