编写:HorinJsor
文章目录
前言
大致了解Eureka后,认识一下和Nacos的相同点。
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装并运行Nacos
无法进入GitHub可以试试修改host文件:C:\Windows\System32\drivers\etc
添加内容:127.0.0.1 activate.navicat.com
1、安装解压后进入bin目录打开命令行:
(standalone代表配置模式为单机启动)
startup.cmd -m standalone
2、登陆服务注册中心,账号密码为nacos。
二、服务注册到Nacos
1.父工程添加依赖:在父工程中添加spring-cloud-alilbaba的管理依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
2.子工程添加依赖:在子工程(需要注册到Nacos的模块)中添加nacos依赖
<!-- nacos客户端依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3.配置文件:修改子工程中的application.yml文件,添加nacos地址(若原项目是eureka,记得注释去掉eureka地址):
spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos 服务端地址
username: nacos
password: nacos
discovery: #环境隔离
namespace: xxx #在naocs中复制命名空间那串字符
group: xxx #组名
4.在启动类添加注解:@EnableDiscoveryClient
三、Nacos集成OpenFeign和Gateway注意事项
OpenFeign: 可以单独一个模块(当作API),也可以在一个消费者模块中集成。
Gateway: 单独注册一个模块集成。使用 @EnableDiscoveryClient 注解注册到Nacos。
具体方式参照:
SpringCloud(三):Feign远程调用
SpringCloud(四):Gateway网关
*四、服务分级存储模型(集群)
1.修改子项目(需要注册的服务模块)配置文件application.yml,添加如下内容:
spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos 服务端地址
discovery:
cluster-name: HZ # 配置集群名称,也就是机房位置,例如:HZ,杭州
2.在Nacos控制台可以看到集群变化
3.扩展:搞Nacos集群
3.1、解压多份Nacos压缩文件。
3.2、修改第一个Nacos的cluster.conf文件
3.3、修改每一个Nacos的的application.properties文件为自己的端口号
3.4、启动每一个Nacos的cmd启动文件
*五、根据集群负载均衡
1.修改子项目(需要注册的服务模块)中的application.yml,设置集群为HZ:
spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos 服务端地址
discovery:
cluster-name: HZ # 配置集群名称,也就是机房位置
2.在子项目(需要注册的服务模块)中设置负载均衡的IRule为NacosRule,这个规则优先会寻找与自己同集群的服务:
本地集群无实例时,会跨域访问其他的实例。
userservice:#要消费的服务名称
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则
五、Nacos常用配置
六、Nacos配置文件中心
1.登录Nacos,新增一个配置文件
2.添加依赖:在任一服务项目添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
3.修改配置文件名称:项目中添加一个配置文件 bootstrap.yml (或者修改application.yaml 文件名称)
4.修改配置文件:指定要读取的文件
单文件:
server:
port: 8080
spring:
application:
name: config-client-a
cloud:
nacos:
config:
server-addr: localhost:8848 #nacos地址
username: nacos
password: naocs
file-extension: properties #配置文件类型
prefix: xxx #配置文件名称。默认会去拿 ${spring.application.name} 的服务名称
多文件(同一命名空间,不同的组别):
server:
port: 8080
spring:
application:
name: config-client-a
cloud:
nacos:
config:
server-addr: localhost:8848
namespace: 5510ef39-ca9a-4f5d-87ba-7fb2afbf7035 # 命名空间 注意使用 id
extension-configs: # 配置多个配置文件 数组形式
- data-id: config-a.yml # 配置 id,必须要加文件后缀
group: GROUP_A # 组别
refresh: true # 是否支持刷新,取代下面的@RefreshScope注解
- data-id: config-b.yml
group: GROUP_B
refresh: fals
*5.分环境读取文件(问题有点多,不建议使用)
目标:读取nacos-config-dev.yml文件
此方式要在配置中心加入后缀:比如.yml
- 上:不能读取;
- 下:可以读取。
@RefreshScope:此注解放到类上,用于自动刷新拉取配置文件。
总结
冲。