欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Cloud Alibaba配置Nacos,作为注册中心和配置中心

程序员文章站 2022-06-13 21:21:11
...

Nacos下载安装

官方文档:Nacos 快速开始
源码地址:GitHub

git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

编译成功后进入./distribution/target/nacos-server-$version/nacos/bin下启动脚本,这里$version根据实际版本号修改
Mac执行sh startup.sh -m standalone进行单机模式运行, Windows直接双击运行startup.cmd即可
Spring Cloud Alibaba配置Nacos,作为注册中心和配置中心
这里我一开始编译是不通过的,通过修改项目的pom文件才成功,可以考虑直接从官方下载编译好的包

配置Nacos

浏览器输入localhost:8848/nacos进入Nacos登录界面,默认账号密码均为nacos
创建新配置,主要是配置Data ID Group 配置内容

Spring Cloud Alibaba配置Nacos,作为注册中心和配置中心
Spring Cloud Alibaba配置Nacos,作为注册中心和配置中心
Data ID要符合${prefix}-${spring.profile.active}.${file-extension}的格式,即:

  • ${prefix}:配置文件的名字,默认为spring.application.name
  • ${spring.profile.active}:当前配置的环境
  • ${file-extension}: 配置文件的格式

创建spring cloud alibaba项目

Spring Cloud Alibaba配置Nacos,作为注册中心和配置中心

pom文件

三部分重点配置parent dependencies dependencyManagement

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.6.RELEASE</version>
        <relativePath/>
    </parent>
    
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    
	<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

配置文件

Spring Cloud Alibaba配置Nacos,作为注册中心和配置中心

application.yml

server:
  port: 8080
spring:
  profiles:
    active: dev
  application:
    name: demo

bootstrap.yml

spring:
  application:
    name: demo
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        group: dirk
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        group: dirk

注册中心

启动类增加注解@EnableDiscoveryClient

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

服务启动后即可在nacos管理页面查看
Spring Cloud Alibaba配置Nacos,作为注册中心和配置中心