一. Nacos简介
1.1 Nacos = 注册中心+配置中心
1.2 Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理,如:
- Kubernetes Service
- gRPC & Dubbo RPC Service
- Spring Cloud RESTful Service
1.3 Nacos 可与spring,springboot,springcloud,dubbo,docke, k8s一起使用,详细使用教程可参考官网资料:Nacos文档
二. Nacos原理
用户端在nacos注册自身服务,并自动将nacos服务列表拉取到本地服务列表。同时通过心跳定时检测nacos服务列表,若列表有更新,则客户端自动拉取nacos服务列表到本地。客户端通过本地服务列表连接到相应服务。
2.1 注册中心原理
2.2 配置中心原理
三. Nacos的简单使用
3.1 下载安装Nacos
-
将下载得到的安装包解压后进入bin目录,打开命令窗口
-
输入命令,等待Nacos执行(standalone代表着单机模式运行,非集群模式):startup.cmd -m standalone
-
如下图,Nacos启动成功,Nacos默认启动端口号为8848
-
通过http://localhost:8848/nacos访问Nacos。Nacos默认登录账户和密码都是nacos
-
至此,Nacos安装启动成功
3.2 将客户端服务注册到Nacos上
- 引入Nacos服务发现依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
- 配置Nacos信息,此处为.yml配置用例。name为注册到Nacos上的服务名称(name不支持下划线,可以包含中划线)
nacos上的配置优先级大于客户端本地服务配置优先级,服务启动时优先读取nacos配置文件,相同部分覆盖本地配置信息。
spring:
application:
name: nacos-test
cloud:
nacos:
discovery:
username: nacos
password: nacos
server-addr: localhost:8848
namespace: public
#暴露所有web端点
management:
endpoint:
web:
exposure:
include: '*'
-
在项目启动类上添加注解,让服务能够被注册中心发现:@EnableDiscoveryClient
-
启动项目,查看服务是否注册进入Nacos
-
点击详情按钮查看服务信息
至此,客户端服务已经成功在Nacos上注册成功。通过服务列表拉取,服务间就可以相互调用了。