毕业设计决定用SpringCloud做一个简单的系统,注册中心和配置中心选择了最近开源的Nacos,因为自己一直对阿里开源的东西比较有好感,下面就大体介绍一下具体如何使用。
- 首先是安装Nacos,官方提供了两种方法,自行编译源码或者直接使用安装包,我们可以选择安装包的方法,安装包地址
- 部署Nacos
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
sh startup.sh -m standalone // 使用单机模式启动
- 项目注册
首先呢需要引入依赖
// 服务发现(注册中心)
<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有一点兼容性问题