
| 组成部分 | 全称 | 描述 |
|---|---|---|
| Na | naming/nameServer | 即服务注册中心,与 Spring Cloud Eureka 的功能类似。 |
| co | configuration | 即配置中心,与 Spring Cloud Config+Spring Cloud Bus 的功能类似。 |
| s | service | 即服务,表示 Nacos 实现的服务注册中心和配置中心都是以服务为核心的。 |
在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:
GitHub主页:https://github.com/alibaba/nacos
GitHub的Release下载页:https://github.com/alibaba/nacos/releases
将这个包解压到任意非中文目录下,如图:
目录说明:
Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。
如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:
修改其中的内容:
启动非常简单,进入bin目录,结构如下:
然后执行命令即可:
windows命令:
startup.cmd -m standalone
在浏览器输入地址:http://127.0.0.1:8848/nacos即可:
默认的账号和密码都是nacos,进入后:
三、Nacos快速入门注意:如果之前使用eureka,需要将相关的依赖注释或删掉
com.alibaba.cloud spring-cloud-alibaba-dependencies2.2.5.RELEASE pom import
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery
spring:
application:
name: userservice
cloud:
nacos:
server-addr: localhost:8848 # nacos服务地址
四、Nacos服务多级存储模型
1. 服务多级存储模型,结构图
2. 服务跨集群调用问题
1. 服务集群属性设置
spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos服务地址
discovery:
cluster-name: SX # 配置集群名称,也就是机房位置,例如 SX ,陕西
spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos服务地址
discovery:
cluster-name: GZ # 配置集群名称,也就是机房位置,例如 GZ ,广州
2. 负载均衡访问对应集群
userservice:
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则
8081端口和8082端口所属集群为 SX 与服务消费者所属同一集群因此被调用
8083端口所属集群为 GZ 与服务消费者不同集群,只有消费者本地集群全不可用,此时才会调用8083端口服务器
3. 根据权重负载均衡
4. 环境隔离
spring:
application:
name: orderservice
cloud:
nacos:
server-addr: localhost:8848 # nacos服务地址
discovery:
cluster-name: SX # 集群名称,这里 SX 代指广州
namespace: 2b0e35e5-5fcb-4df0-b563-f839e504f6d1 # 命名空间id
注意:dev环境下与public环境无法相互访问。即不同命名空间服务不可见
命名空间总结:
Nacos临时实例的设置
spring:
application:
name: orderservice
cloud:
nacos:
server-addr: localhost:8848 # nacos服务地址
discovery:
cluster-name: SX # 集群名称,这里 SX 代指广州
namespace: 2b0e35e5-5fcb-4df0-b563-f839e504f6d1
ephemeral: false # 是否是临时实例