SpringCloud集成Nacos

下载Nacos

下载地址 这里以2.0.4版本为例,注意早先有些版本不支持Java11

安装使用

常用命令

# 本例安装在linux中

# 解压命令
tar -zxvf nacos-server-2.0.4.tar.gz

# 单节点启动
./startup.sh -m standalone

# 关闭服务
./shutdown.sh

# 访问路径
http://ip:8848/nacos

基本配置

若要修改Nacos的一些配置,如端口号等,可修改[安装目录]/conf/application.properties文件,例如我的安装目录为/opt/wong/nacos/,则修改/opt/wong/nacos/conf/application.properties文件中的server.port=9088,将默认端口由8848修改为9088。

SpringCloud集成注册中心

  • 注意事项

    在微服务项目中集成Nacos,需要注意SpringCloud Alibaba 与 SpringCloud 的版本对应关系。

​ 本例版本关系如下:


<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-alibaba-dependenciesartifactId>
            <version>2.2.6.RELEASEversion>
            <type>pomtype>
            <scope>importscope>
        dependency>
    dependencies>
dependencyManagement>


<parent>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-parentartifactId>
    <version>2.5.8version>
    <relativePath/> 
parent>


<properties>
    <java.version>11java.version>
    <spring-cloud.version>2020.0.5spring-cloud.version>
properties>
  • 导入nacos需要的包

    由于导入了SpringCloud Alibaba,这里可以不用写版本号

<dependency>
    <groupId>com.alibaba.cloudgroupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>
  • 启动类中添加注解
@SpringBootApplication
@EnableDiscoveryClient	// 开启服务注册与发现
public class DemoApplication {
    public static void main(String[] args) {
    }
}
  • yml 配置
spring:
  application:
    name: demo
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:9088
  • 查看注册结果

    访问本地nacos地址http://localhost:9088/nacos

    默认用户:nacos

    默认密码:nacos

SpringCloud集成配置中心

  • 添加依赖
<dependency>
    <groupId>com.alibaba.cloudgroupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
dependency>
  • 配置文件
# 在与application.yml同级目录中创建bootstrap.yml文件
# 在bootstrap.yml文件中编写如下配置
spring:
  application:
    name: demo
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:9088
        file-extension: yml

注意

  • springboot 2.4 以上取消了bootstrap.yml的优先级

  • 若想使用bootstrap.yml配置,需添加如下依赖

    <dependency>
    	<groupId>org.springframework.cloudgroupId>
    	<artifactId>spring-cloud-starter-bootstrapartifactId>
    	<version>3.1.0version>
    dependency>
    

Nacos配置中心

  • 创建一个配置(注意Data Id 为完整文件名 xxx.yml)

    文件名与bootstrap.ymlname相同,文件格式与file-extension定义相同
    SpringCloud集成Nacos_第1张图片

  • 编写配置内容
    SpringCloud集成Nacos_第2张图片

  • 编辑完成后点击页面右下角发布按钮

Java中获取配置

  • 创建一个测试接收配置的类
@Getter
@Setter
@RefreshScope // 实时刷新,只有添加了该注解,配置中心修改时,才会实时获取配置
@Component
public class TestConfig {
    @Value("${demo.test}")
    private String test;
}

你可能感兴趣的:(Java,spring,cloud,java,微服务)