营销型网站免费模板下载七牛链接wordpress
目录
- Nacos是什么?
 - 一.Nacos下载
 - 二.安装Nacos
 - 三.Nacos原理
 - 四.Nacos快速入门
 - 五.Nacos服务多级存储模式
 - 六.Nacos根据集群设置负载均衡
 - 1.根据同集群优先访问
 - 2.根据权重配置负载均衡
 
- 七.Nacos的环境隔离
 - 八.Nacos和Eureka的区别
 
前提:以订单服务和用户服务为例,订单服务要使用用户服务。
注意: 这篇讲的是Nacos的服务注册和服务拉取的作用。
Nacos是什么?
Nacos是阿里巴巴的产品,也是注册中心也有负载均衡功能,现在是SpringCloud中的一个组件,相比较而言比Eureka功能更丰富。在国内更加欢迎。
一.Nacos下载
nacos官网
1.进入官网
 
2.找到下载功能
 
3.找到你想下载的版本
 
 
二.安装Nacos
nacos14.1安装包 提取码:0221
 1.解压
 
2.默认端口是8848,如果你要改端口在 conf -> application.properties
 
3.启动
 注意: 默认账号密码都是:nacos
//启动命令 在bin目录下启动
startup.cmd -m standalone-m:模式(单机模式、集群模式)
standalone:单机模式
 

三.Nacos原理

 1.服务注册时,配置服务是临时实例还是非临时实例,在服务的yml服务配置
springcloud:nacos:server-addr: localhost:8848 # nacos服务地址discovery:ephemeral: false # 默认是临时实例,true:临时实例,false:非临时实例
 
2.可视化界面查看实例类型
 

四.Nacos快速入门
1.在父工程pom文件添加依赖
		 <!--nacos的管理依赖--><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.在子工程pom文件添加依赖(订单服务)
 	    <!-- nacos客户端依赖包 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
 
3.yml文件配置(订单服务)
spring:cloud:nacos:server-addr: localhost:8848 # nacos服务地址,默认地址
 
4.查看启动服务的信息

五.Nacos服务多级存储模式
1.多级存储模式逻辑图
 
2.yml文件配置集群
spring:cloud:nacos:server-addr: localhost:8848 # nacos地址discovery: cluster-name: CX #集群名称,CX是曹县的集群
 
六.Nacos根据集群设置负载均衡
1.根据同集群优先访问
例如:订单服务要访问用户服务的集群。但是想优先访问CX集群的用户服务。
(1) yml文件配置(订单服务)
spring:cloud:nacos:server-addr: localhost:8848 # nacos地址discovery: cluster-name: CX #集群名称,CX是曹县的集群
 
(2) 配置Ribbon的规则(订单服务)
userservice:ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # Nacos负载均衡规则(优先访问同集群的服务,随机访问,找不到同集群的会报警告,然后去找其他集群) 
 
2.根据权重配置负载均衡
例如:部署用户服务的服务器,有的好,有的坏,那我们想让好的服务器接受的请求多一些该怎么办呢?
nocos控制台设置权重(权重越大访问越多,权重为0,不会被访问)
 
 
 
七.Nacos的环境隔离
Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离。可以用于比如生产环境、测试环境、开发环境这种进行隔离,还有根据集群的地域的不同进行隔离。
1.隔离逻辑图
 
 2.查看服务所属的命名空间和组
 
 3.新建命名空间
 
4.把指定服务加入某个命名空间,配置yml文件
spring:cloud:nacos:server-addr: localhost:8848 # nacos服务地址discovery:namespace: 4d6ce343-9e1b-44df-a90f-2cf2b6b3d177 # dev环境,值是命名空间的id,配置完这个服务就属于dev环境的命名空间了,其他命名空间访问不到
 
八.Nacos和Eureka的区别
共同点
 ①都支持服务的注册和拉取。
 ②都支持服务提供者以心跳检测来判断是否健康(临时实例)。
不同点
 ①nacos支持注册中心主动询问服务提供者的状态(非临时实例)。
 ②nacos支持注册中心消息变更主动推送。
 ③心跳不正常会被剔除(临时实例)。
