文章目录

  • 引言【如果是想快速整合Nacos,就只需要看快速使用,如果想了解更多的用法以及原理,下面有了解Nacos更多】
  • 【快速使用】
  • 1、本地安装Nacos并启动
  • 2、创建nacos-config子项目
  • 3、nacos-config子项目pom中引入nacos依赖
  • 4、创建启动类
  • 目录结构
  • NacosApplication启动类代码
  • 5、创建bootstrap.yml配置文件
  • 目录结构
  • bootstrap.yml配置文件代码
  • 6、在Nacos的test空间下添加nacos-config.yaml配置文件
  • 7、启动NacosApplication启动类
  • 【了解Nacos更多】
  • Nacos的作用
  • 发现
  • 配置
  • 管理


引言【如果是想快速整合Nacos,就只需要看快速使用,如果想了解更多的用法以及原理,下面有了解Nacos更多】

【快速使用】

1、本地安装Nacos并启动


2、创建nacos-config子项目

nacos 整合redisson nacos 整合_spring boot



3、nacos-config子项目pom中引入nacos依赖

在这里我们不需要引入nacos的版本,因为在父项目pom中的dependencyManagement中我们已经对版本进行了管理

<dependencies>
        <!-- Nacos -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!-- Nacos Config -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>



4、创建启动类

目录结构

nacos 整合redisson nacos 整合_spring boot_02

NacosApplication启动类代码

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
public class NacosApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosApplication.class, args);
    }

}



5、创建bootstrap.yml配置文件

目录结构

nacos 整合redisson nacos 整合_spring boot_03

bootstrap.yml配置文件代码

url:
  nacos: localhost:8848 # Nacos地址
spring:
  application:
    name: nacos-config # 服务名称
  # 命名空间
  profiles:
    active: test
  # cloud 配置
  cloud:
    nacos:
      discovery:
        # 命名空间
        namespace: ${spring.profiles.active}
        # 注册中心地址
        server-addr: ${url.nacos}
      config:
        namespace: ${spring.profiles.active}
        file-extension: yaml
        # 配置中心地址
        server-addr: ${url.nacos}



6、在Nacos的test空间下添加nacos-config.yaml配置文件

我们选择在Nacos管理页面中添加配置文件,方便我们更好的管理配置,注意,配置文件名称必须跟服务名称一致

nacos 整合redisson nacos 整合_学习_04

nacos 整合redisson nacos 整合_spring boot_05



7、启动NacosApplication启动类

启动程序后,进入Nacos管理页面
Nacos地址:http://localhost:8848/nacos/index.html
账号:nacos
密码:nacos
在Nacos页面中点击服务管理下的服务列表就能看到我们刚刚启动的nacos-config服务了

nacos 整合redisson nacos 整合_java_06




【了解Nacos更多】

Nacos的作用

Nacos的作用是致力于帮助我们发现、配置和管理微服务。

发现

当我们在某一个工程项目中引入Nacos的依赖,并启动项目,就能发现,我们的服务会注册在Nacos管理页面中,很多小伙伴都喜欢这种可视化页面,它方便我们能够更加直观的感受到。

配置

配置说的简单一些,就是可以把我们原先在项目中配置的yml文件抽取出来,配置的文件就可以动态载入,用文字描述的话可能会有点难以理解,我们在这里做个示例:
我们在Nacos配置页面中刚刚添加的nacos-config.yaml中增加一些配置数据

nacos 整合redisson nacos 整合_spring cloud_07

user:
  name: 张三
  age: 18

发布以后,我们去程序中写一个接口,去调用配置中的数据,目录、代码如下:

nacos 整合redisson nacos 整合_nacos 整合redisson_08

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController {

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

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

    @GetMapping("/getUserInfo")
    public String getUserInfo() {
        return name + ":" + age;
    }

}

调用地址:http://localhost:9001/user/getUserInfo

nacos 整合redisson nacos 整合_java_09

我们就能看到返回了我们配置中的返回值了,这是我们去Nacos中,把nacos-config.yaml配置文件更改一下数据,然后再次发布,发布完以后,再次调用这个接口

nacos 整合redisson nacos 整合_spring boot_10

nacos 整合redisson nacos 整合_java_11

就能够发现,接口中获取的数据也就变成我们刚刚修改配置后的数据了,这样我们以后就能把这种配置写活

管理

大家在开发时使用测试环境,上线后使用正式环境,而这种环境切换,我们就可以通过Nacos管理页面,就比如我们刚刚使用test空间,我们在test空间中配置我们测试环境的配置,我们也可以再创建一个空间,代表我们线上环境的配置,这样,到时候我们就可以只需要在配置文件中更改一下使用的命名空间,就可以减少很多麻烦。