nacos 基本应用
1. 什么是 Nacos
官方文档: https://nacos.io/zh-cn/docs/what-is-nacos.html
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态
服务发现、服务配置、服务元数据及流量管理。
Nacos 的关键特性包括:
1.1 Nacos 架构NamingService: 命名服务,注册中心核心接口 ConfigService:配置服务,配置中心核心接口
简化的配置管理架构
1.2 Nacos Server部署
下载源码编译
源码下载地址:https://github.com/alibaba/nacos/
下载安装包
下载地址:https://github.com/alibaba/Nacos/releases
1.2.1 单机模式
官方文档: https://nacos.io/zhcn/docs/deployment.html
解压,进入nacos目录
单机启动nacos,执行命令
访问nocas的管理端:http://localhost:8848/nacos ,默认的用户名密码是 nocas/nocas
1.2.2 集群模式
官网文档: https://nacos.io/zhcn/docs/clustermodequickstart.html
集群部署架构图
步骤
2.2 Nacos注册中心架构
2.3 核心功能 (非持久化)
服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server(集群中的一个server)注册自己的服务,提供自身的元数据,比如ip地址、端口等信息。Nacos Server接收到注册请求后,就会把这些元数据信息存储在一个双层的内存Map中。
服务心跳:在服务注册后,Nacos Client会维护一个定时心跳来持续通知Nacos Server,说明服务一直处于可用状态,防止被剔除。默认5s发送一次心跳。
服务同步:Nacos Server集群之间会互相同步服务实例,用来保证服务信息的一致性。
服务发现:服务消费者(Nacos Client)在调用服务提供者的服务时,会发送一个REST请求给 Nacos Server,获取上面注册的服务清单,并且缓存在Nacos Client本地,同时会在Nacos Client本地开启一个定时任务定时拉取服务端最新的注册表信息更新到本地缓存
服务健康检查:Nacos Server会开启一个定时任务用来检查注册服务实例的健康情况,对于超过 15s没有收到客户端心跳的实例会将它的healthy属性置为false(客户端服务发现时不会发现),如果某个实例超过30秒没有收到心跳,直接剔除该实例(被剔除的实例如果恢复发送心跳则会重新注册)
3 快速启动
当前项目pom中引入依赖
2) application.properties中配置
更多配置:https://github.com/alibaba/springcloudalibaba/wiki/Nacosdiscovery
4. Nacos源码编译
源码下载地址: https://github.com/alibaba/nacos/
版本: Nacos 1.4.1
1)进入nacos目录,执行编译命令
编译成功后会在distribution/target目录下生成nacos-server-1.4.1.tar.gz