编辑
2023-11-21
Java
00
请注意,本文编写于 536 天前,最后修改于 534 天前,其中某些信息可能已经过时。

Nacos体系结构

Nacos是一个开源的服务发现和配置管理平台,它提供了服务注册与发现、动态配置管理、服务元数据管理等功能。下面将详细介绍Nacos的体系结构,包括领域模型、数据模型和基本架构。

image.png 领域模型

Nacos的领域模型主要包括以下几个方面:

  1. 服务(Service):表示一个软件功能或一组软件功能,可以通过跨进程网络调用来重用不同客户端的不同目的。Nacos支持几乎所有类型的服务,包括Kubernetes服务、gRPC、Dubbo RPC服务和Spring Cloud RESTful服务等。

image.png 2. 服务注册表(Service Registry):用于存储服务、实例和元数据的数据库。服务实例在启动时向服务注册表注册,关闭时取消注册。服务的客户端和/或路由器通过查询服务注册表来查找可用的服务实例。服务注册表可能会调用服务实例的健康检查API来验证其是否能够处理请求。

  1. 服务元数据(Service Metadata):用于描述服务的数据,例如服务端点、服务标签、服务版本、服务实例权重、路由规则和安全策略等。

  2. 服务提供者(Service Provider):提供可重用和可调用的服务的进程或应用程序。

  3. 服务消费者(Service Consumer):发起对服务的调用的进程或应用程序。

  4. 配置(Configuration):在系统开发过程中,开发人员通常会从代码中提取一些需要更改的参数或变量,并将它们管理在单独的配置文件中。这样可以更好地使静态系统构件或交付物(如WAR和JAR包)与物理操作环境相适应。配置管理通常是系统部署的一部分,由管理员或运维人员执行。配置修改是调整运行中系统行为的有效方法。

数据模型

Nacos的数据模型是由三元组唯一确定的。命名空间(Namespace)默认为空字符串,即公共命名空间(public),组(Group)默认为DEFAULT_GROUP。

image.png 基本架构

image.png Nacos的基本架构由多个组件组成,包括服务管理、配置管理、元数据管理、插件机制、事件机制、日志模块、回调机制、寻址模式、推送通道、容量管理、流量管理、缓存机制、启动模式、一致性协议、存储模块、命名服务、CMDB、指标、跟踪、访问管理、用户管理、权限管理、审计系统、通知系统、OpenAPI、控制台、SDK、Agent和CLI等。

image.png image.png

Learn more:

  1. Nacos architecture
  2. Best Practices of Higress + Nacos Microservice Gateway - Alibaba Cloud Community
  3. Overview of Domain Model | Seata

本文作者:yowayimono

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!