使用Nacos作为注册中心和配置中心

96
Stalary
1.8 2019.02.17 11:58* 字数 305

毕业设计决定用SpringCloud做一个简单的系统,注册中心和配置中心选择了最近开源的Nacos,因为自己一直对阿里开源的东西比较有好感,下面就大体介绍一下具体如何使用。

  1. 首先是安装Nacos,官方提供了两种方法,自行编译源码或者直接使用安装包,我们可以选择安装包的方法,安装包地址
  2. 部署Nacos
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
sh startup.sh -m standalone // 使用单机模式启动
  1. 项目注册
    首先呢需要引入依赖
          // 服务发现(注册中心)
          <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>0.2.1.RELEASE</version>
        </dependency>
        // 配置中心
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>0.2.1.RELEASE</version>
        </dependency>

然后在启动类中开启服务发现

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

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

最后配置服务发现地址以及配置中心地址
application.yml

spring:
  application:
    name: pf-recruit // 设置项目名称
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 // Nacos服务接口(不能加http前缀),直接访问localhost:8848/nacos可以进入管理页面

作为配置中心时,必须要使用bootstrap.yml,因为bootstrap.yml加载顺序优先于application.yml,会默认查找项目名.yml的配置文件
bootstrap.yml

spring:
  cloud:
    nacos:
      config:
        server-addr: localhost:8848
        file-extension: yml // 配置文件的格式,默认为properties
        shared-dataids: mysql.yml //  需要使用的配置文件
        refreshable-dataids: mysql.yml // 需要实时刷新的配置文件

当着一切都配置好的时候,我们打开localhost:8848/nacos就可以看到我们启动的项目了。

注册中心

大家在使用中遇到的问题欢迎与我一起进行交流,目前我所发现的就是与SpringCloud-Sletuh有一点兼容性问题

  1. 项目地址
    https://github.com/stalary/microservice-recruit
技术文章
Web note ad 1