Nacos篇章
1.Nacos介绍:
Nacos 的官网地址为 https://nacos.io,其官网上显示的是中文,是因为Nacos是阿里开源的 SpringCloud Alibaba 项目下的一项技术,可以实现服务注册中心、分布式配置中心。其下载安装方式、使用教程等可以百度查看。
2.使用方法:
需要在父工程及使用的子工程的POM文件中导入以下依赖:
<!-- 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.yml配置文件中的Spring下面添加Nacos地址:
cloud:
nacos:
server-addr: nacos:8858 # nacos服务地址
配置完毕之后运行程序就可以在本地Nacos控制台的服务列表中查看到已经注册的信息
我的地址:http://localhost:8858/nacos/index.html# 登录账号和密码默认都是nacos
3.Nacos服务分级模型
3.1 Nacos服务分级存储模型
①-级是服务,例如userservice
②二级是集群,例如杭州或上海
③三级是实例,例如杭州机房的某台部署了userservice的服务器
3.2 如何设置实例的集群属性
①修改application.yml文件, 添加
spring.cloud.nacos.discovery.cluster-name属性
即可
3.3 服务分级模型图
4.根据权重负载均衡
实际部署中会出现这样的场景:
●服务器设备性能有差异, 部分实例所在机器性能较好,另一些较差 ,我们希望性能好的机器承担更多的用户请求。
Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高
1.实例的权重控制
①Nacos控制台可以设置实例的权重值,0~1之间
②同集群内的多个实例,权重越高被访问的频率越高
③权重设置为0则完全不会被访问
5.Nacos注册中心原理
6. Nacos与eureka的共同点以及区别
1.共同点:
①都支持服务注册和服务拉取
②都支持服务提供者心跳方式做健康检测
2. 区别
①Nacos支持服务端主动检测提供者状态:临时实例采
用心跳模式,非临时实例采用主动检测模式
②临时实例心跳不正常会被剔除,非临时实例则不会被
剔除
③Nacos支持服务列表变更的消息推送模式,服务列表
更新更及时
④Nacos集群 默认采用AP方式,当集群中存在非临时
实例时,采用CP模式; Eureka采用AP方式.