nacos服务端的安装
方式一、下载源码自己编译、安装
方式二、下载编译好的源码,
- 下载地址: https://github.com/alibaba/nacos/releases
- 下载完毕,解压到相应的目录
启动nacos服务端
单机模式
- 进入到nacos的bin目录下
- 启动单机nacos服务
startup.cmd -m standalone
- 单机模式
standalone
和集群模式cluster
- 启动完毕验证服务
localhost:8848/nacos
默认账号密码都是nacos
集群模式
- nacos下的
conf
目录,修改cluster.conf
文件 - 如果cluster.conf不存在,可以复制cluster.conf.example改个名字
- 配置持久化,nacos下的
conf
下的nacos-mysql.sql
文件导入多mysql直接建表 - 在
conf
目录下的application.properties`文件修改各自对应端口并添加数据库配置
# 指定持久化方式 -mysql
spring.datasource.platform=mysql
# 有几个数据库实例
db.num=2
# 第1个实例的地址
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_dev?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
# 第2个实例的地址
# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_dev?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_dev
db.password=nacos_dev@123456
- 分别启动nacos三个节点
startup.cmd -m standalone cluster
nacos注册、发现
- Spring Cloud 项目Nacos的服务发现功能图解
- 在应用中添加nacos依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
- 在启动类上添加
@EnableDiscoverClient
,开启服务发现功能
/**
* @author liouwb
*/
@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class, args);
}
}
- application.yml配置
server:
port: 8804
spring:
application:
# 显示在nacos的服务名称
name: provider-server
cloud:
nacos:
discovery:
# nacos地址,集群的话,多个地址使用逗号分隔
server-addr: localhost:8848
- 配置完之后,启动服务就会注册到nacos
nacos配置中心
- 在应用中添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 在nacos中心添加配置文件
- 添加配置文件内容,并发布
- 查看配置文件列表信息
- 编写项目配置,从远程nacos获取配置文件 bootstrap.yml文件
server:
port: 8802
spring:
application:
name: client-server
profiles:
active: dev
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
# nacos地址
server-addr: localhost:8848
# 配置文件后缀名为yaml
# 指定远程nacos 配置文件名称 这里会自动加载provider-server-dev.yml
name: provider-server
file-extension: yml
- 启动程序,验证配置是否生效
自定义nacos配置中心命名空间
- 新增命名空间
- 新增配置
- 代码测试
- 可以看到nacos配置中心的端口覆盖了本地端口,配置生效