目录
一、Nacos简介
Nacos与eureka的共同点
Nacos与Eureka的区别
二、Nacos安装配置
在windows中的安装教程
1.首先将windows安装版本的zip解压:
2.如果8848端口被占用,可以修改端口
3.进入到bin目录下,在cmd中运行以下命令启动
4.启动成功(默认的账号和密码都是nacos )
在Linux中的安装教程(一定要先安装JDK8)
1.首先将linux的tar.gz包上传到 /usr/local/ 目录中,然后解压缩
2.删除安装包
3.查看解压后的文件
4.去到conf目录可以修改端口,与windows下配置相似,去到bin目录,启动Nacos
三、SpringCloud整合Nacos步骤:
1.首先在父工程中引入依赖
2.在客户端中引入依赖
3.在application.yaml配置文件中添加
四、Nacos服务分级存储
1.在application.yaml配置文件中添加集群配置
2.设置负载均衡的IRule为NacosRule,这个规则优先会寻找与自己同集群的服务:
五、根据权重负载均衡
一、Nacos简介
Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。
Nacos与eureka的共同点
- 都支持服务注册和服务拉取
- 都支持服务提供者心跳方式做健康检测
Nacos与Eureka的区别
- Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
- 临时实例心跳不正常会被剔除,非临时实例则不会被剔除
- Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
- Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式
二、Nacos安装配置
下载地址:https://github.com/alibaba/nacos/releases (github是国外网站,稍微有点慢)
在windows中的安装教程
1.首先将windows安装版本的zip解压:
目录说明:bin:启动脚本;conf:配置文件
2.如果8848端口被占用,可以修改端口
Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:
3.进入到bin目录下,在cmd中运行以下命令启动
.\startup.cmd -m standalone
4.启动成功(默认的账号和密码都是nacos )
登录进入以后:
在Linux中的安装教程(一定要先安装JDK8)
1.首先将linux的tar.gz包上传到 /usr/local/ 目录中,然后解压缩
tar -xvf nacos-server-1.4.1.tar.gz
2.删除安装包
rm -rf nacos-server-1.4.1.tar.gz
3.查看解压后的文件
4.去到conf目录可以修改端口,与windows下配置相似,去到bin目录,启动Nacos
sh startup.sh -m standalone
三、SpringCloud整合Nacos步骤:
1.首先在父工程中引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
2.在客户端中引入依赖
<!-- nacos客户端依赖包 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3.在application.yaml配置文件中添加
spring:
cloud:
nacos:
server-addr: localhost:8848
四、Nacos服务分级存储
服务调用尽可能选择本地集群的服务,跨集群调用延迟较高。
本地集群不可访问时,再去访问其它集群。
1.在application.yaml配置文件中添加集群配置
spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos 服务端地址
discovery:
cluster-name: HZ # 配置集群名称,也就是机房位置,例如:HZ,杭州
2.设置负载均衡的IRule为NacosRule,这个规则优先会寻找与自己同集群的服务:
服务名:
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则
五、根据权重负载均衡
实例的权重控制:
- Nacos控制台可以设置实例的权重值,0~1之间;
- 同集群内的多个实例,权重越高被访问的频率越高;
- 权重设置为0则完全不会被访问。
将权重设置为0.1,测试可以发现8081被访问到的频率大大降低