Nacos安装与启动
Nacos简介
Nacos(Dynamic Naming and Configuration Service) 是阿里巴巴2018年7月开源的项目,致力于 发现、配置和管理微服务。
Nacos版本介绍
https://github.com/alibaba/nacos/releases
Nacos目前最新版本为:nacos-server-1.3.1(最新稳定版)
项目启动依赖JDK,记得先安装,配置JAVA_HOME
Nacos配置高可用构建
docker 方式
//下载镜像
docker pull nacos/nacos-server:1.3.1
//创建自定义网络
docker network create --subnet=172.188.0.0/16 oydNetwork
//启动
//standalone 单机模式
docker run --name nacos --env MODE=standalone --net czbkNetwork --ip 172.188.0.44 --privileged=true -p 8848:8848 --restart=always -d dc833dc45d8f
访问nacos
http://ip:8848/nacos
tar.gz方式
//解压
tar -zxvf nacos-server-1.1.3.tar.gz
//进入启动目录
cd nacos/bin/
//单机模式启动
sh startup.sh -m standalone
windows方式
解压后,双击启动
注意:
笔者拿三台机子测试,一台正常启动,二台发现启动报连接不到数据库的异常如下
解决法案:
一:配置数据库
1、修改conf/application.properties,增加支持mysql数据源配置(目前只支持mysql)
2、数据库初始化文件:nacos-mysql.sql
3、这里安装数据库,版本要求:5.6.5+
二: 切换nacos版本,亲测1.2.1版本,启动不需要连接数据库
Nacos注册与发现
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 注册发现核心依赖包 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos- discovery</artifactId>
</dependency>
创建bootstrap.properties配置文件
//端口
server.port=8070
//服务名称
spring.application.name=nacos-provider
//nacos服务地址
spring.cloud.nacos.discovery.server-addr=192.168.81.141:8848
启动类开启服务注册功能
这里强调一下,@EnableDiscoveryClient为通用注解支持各种注册中心的启动
到这里各个服务之间的注册发现就完成了
Nacos配置文件管理并实现自动刷新
引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
修改bootstrap.properties配置文件
server.port=8070
#配置中心
spring.cloud.nacos.config.server-addr=192.168.81.141:8848
#注册中心
spring.cloud.nacos.discovery.server-addr=192.168.81.141:8848
spring.application.name=nacos-conf
#配置中心文件扩展名称也支持yaml
spring.cloud.nacos.config.file-extension=properties
值得注意的是关于文件命名问题:
实现自动刷新
这里修改内容后,点击发布时,服务会自动重新加载配置文件,实现内容更新