网站首页 > 教程文章 正文
关注△mikechen△,十余年BAT架构经验倾囊相授!
大家好,我是mikechen。
Nacos是大型架构的必备中间件,也是微服务的核心,下面我重点详解Nacos架构@mikechen
文章来源:mikechen.cc
Nacos
Nacos,全程是“Dynamic Naming and Configuration Service”,是Spring Cloud Alibaba核心组件。
Nacos,是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos架构
Nacos架构,如下图所示:
+---------------------++-------------------+|NacosConsole|<----->|NacosCluster|+---------------------+|[Naming+Config]||+CoreModule|+--------------++-------------------+|Service A |<--注册/发现-->NacosServerNode1|Service B |<--拉取配置-->NacosServerNode2|Service C |<--心跳上报-->NacosServerNode3+--------------++-------------------+|+----------+|MySQL|(共享存储)+----------+
控制层
这一层是用户与Nacos交互的界面,通常是一个Web控制台,它提供直观的图形化操作界面。
注册的服务实例信息,包括健康状态、IP地址、端口等,以及命名空间、用户权限等管理功能。
配置列表,包括:Data ID、Group、Namespace以及配置内容。
并且, 控制层通过调用Nacos的服务层API,来执行相应的管理操作。
服务层
这是Nacos的核心业务逻辑层,对外提供统一的API接口,处理来自Nacos客户端和控制层的各类请求。
服务层的主要职责包括:
- 服务注册与发现: 接收服务实例的注册请求,维护服务实例列表,并响应服务查询请求。
- 配置管理: 处理配置的发布、查询、订阅和更新请求。
- 元数据管理: 存储和管理服务及配置的各种附加信息。
- 集群管理: 协调Nacos服务器集群内部的数据同步和状态维护。
- 认证与授权: 对访问Nacos的客户端和用户进行身份验证和权限控制。
数据层
数据层:是Nacos存储所有服务和配置数据的基础,它负责数据的持久化和一致性保证。
数据层确保了即使Nacos服务器重启或部分节点故障,关键的服务和配置数据也能得到保存和恢复。
Nacos核心模块
Nacos核心模块,如下图所示:
服务注册与发现
主要会包含:
实例注册:通过 REST 接口或 SDK 将服务注册到 Nacos。
服务发现:客户端可通过 Nacos 拉取服务列表,负载均衡调用。
健康检查:服务实例需定期发送心跳,Nacos 会剔除不健康实例。
实例元数据:支持添加 version、env、region 等信息,实现多版本隔离。
配置中心
配置结构:通过 Namespace + Group + DataId 三元组唯一标识配置。
推送机制:基于长轮询(或 gRPC 推送)监听配置变更。
多格式支持:支持 Properties、YAML、JSON、XML 等格式。
动态刷新:支持 Spring Cloud 中的 @RefreshScope 或 @NacosValue 实现自动刷新。
核心功能层
统一配置处理器、服务调度器、推送调度器。
管理服务元数据、缓存与通知机制。
提供任务调度线程池、事件中心与订阅模型。
以上
文章来源:mikechen.cc
猜你喜欢
- 2025-06-28 Nacos最全详解(8大架构原理图解)(nacos原理讲解)
- 2025-06-28 干货!微服务全量升级JDK17,踩坑笔记整理
- 2025-06-28 springboot集成nacos配置中心(springcloud配置nacos集群)
- 2025-06-28 Nacos快速入门指南(nacos 使用)
- 2025-06-28 Nacos读取配置文件的顺序(nacos 配置文件)
- 2025-06-28 本地启动若依项目nacos报错:Server check fail, please check server
- 2025-06-28 阿里Nacos惊爆安全漏洞,火速升级!(附修复建议)
- 2025-06-28 Nacos简介—1.Nacos使用简介(nacos是干啥的)
- 2025-06-28 Nacos简介—4.Nacos架构和原理一(nacos原理讲解)
- 最近发表
-
- Nacos最全详解(8大架构原理图解)(nacos原理讲解)
- 干货!微服务全量升级JDK17,踩坑笔记整理
- springboot集成nacos配置中心(springcloud配置nacos集群)
- Nacos快速入门指南(nacos 使用)
- Nacos读取配置文件的顺序(nacos 配置文件)
- 本地启动若依项目nacos报错:Server check fail, please check server
- 阿里Nacos惊爆安全漏洞,火速升级!(附修复建议)
- Nacos简介—1.Nacos使用简介(nacos是干啥的)
- Nacos简介—4.Nacos架构和原理一(nacos原理讲解)
- Nacos架构最全详解(图文全面总结)
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)