本文目录如下:
- 一、Nacos微服务治理
- Nacos 下载 与 启动
- Spring Cloud 集成 Nacos
- IDEA 同一个 Application 启动多次
- Nacos - 配置集群
- Nacos - 设置负载均衡
- Nacos - 设置服务实例的权重
- 二、Nacos 配置管理
- Nacos - 合理的把配置信息迁移到 Nacos 中
- Nacos - 如何使用 Nacos 配置?
一、Nacos微服务治理
Nacos 下载 与 启动
https://github.com/alibaba/nacos/releases
Nacos 下载与启动:
- F:\ProgramFiles\nacos\bin>
.\startup.cmd -m standalone
启动成功:
Spring Cloud 集成 Nacos
- 父项目 引入 管理依赖
<!--nacos的管理依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${cloud-alibabba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
- 子模块 添加 客户端依赖
<!-- nacos 客户端 作为 注册与发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- nacos 配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 子模块 在 application.xml 中添加 配置信息
spring:
cloud:
nacos:
username: nacos
password: nacos
server-addr: 127.0.0.1:8848 # nacos服务地址
config:
file-extension: yaml # 文件后缀名
- 启动两个模块, 在Nacos中查看模块注册情况
IDEA 同一个 Application 启动多次
将
UserApplication
启动多次, 模拟多实例部署,但为了避免 端口冲突,需要修改端口设置:
添加 VM Option:-Dserver.port=8192
启动之后, 在 Nacos
中可以看到 同一个服务的 两个实例:
Nacos - 配置集群
spring:
cloud:
nacos:
discovery:
cluster-name: XQZ # 配置集群名称,也就是机房位置,例如:HZ,杭州
Nacos - 设置负载均衡
@SpringBootApplication
@MapperScan("com.tencent.wechat.user.mapper")
public class TencentWechatUserApplication {
public static void main(String[] args) {
SpringApplication.run(TencentWechatUserApplication.class, args);
}
/**
* 开启负载均衡
* @return
*/
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
/**
* Spring Cloud 自带的负载均衡组件: Ribbon
* @return
*/
@Bean
public IRule randomRule() {
return new RandomRule();
}
}
yml 中添加:
# 设置负载均衡的IRule为 NacosRule,这个规则优先会寻找与自己同集群的服务
user-server:
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则
Nacos - 设置服务实例的权重
二、Nacos 配置管理
Nacos - 合理的把配置信息迁移到 Nacos 中
- 把 配置信息 迁移到 Nacos 的主要原因是: 能让配置信息 热更新。
- 所以不常改变的 配置 (如 MySQL连接信息) 就没有必要放入到 Nacos 中, 放入 开关类型 的配置。
Nacos - 如何使用 Nacos 配置?
- 1.在 Nacos 上创建依赖文件
app-settings:
name: xqz
age: 18
hobby: 烘焙蛋糕
edu_school: 南京医科大学
- 2.Spring Cloud 子模块中引入依赖
<!-- nacos 配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 3.创建 bootstrap.yml 文件
bootstrap.yml 是一个引导文件, 优先级大于 application.yml, 一定要包含下面这些内容。
spring:
application:
name: user-server #应用名
profiles:
active: dev # 环境
cloud:
nacos:
username: nacos
password: nacos
server-addr: 127.0.0.1:8848 # nacos服务地址
config:
file-extension: yaml # 文件后缀名
discovery:
cluster-name: XQZ # 配置集群名称,也就是机房位置,例如:HZ,杭州
- Nocos 上查看配置文件