广东创粤建设有限公司网站网站优化公司排名
本文目录如下:
- 一、Nacos微服务治理
- Nacos 下载 与 启动
- Spring Cloud 集成 Nacos
- IDEA 同一个 Application 启动多次
- Nacos - 配置集群
- 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: nacospassword: nacosserver-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@LoadBalancedpublic RestTemplate restTemplate() {return new RestTemplate();}/*** Spring Cloud 自带的负载均衡组件: Ribbon* @return*/@Beanpublic 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 - 配置命名规范
服务名.yml
Nacos - 如何使用 Nacos 配置?
-
- 引入依赖
<!-- nacos 配置中心 -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>