Nacos - nacos基础概念

Nacos - nacos基础概念


1、什么是nacos

一个易于使用的动态服务发现,配置和服务管理平台,用于构建云应用程序

Nacos致力于帮助您发现,配置和管理微服务。它提供了一组简单有用的功能,使您能够实现动态服务发现,服务配置,服务元数据和流量管理。
Nacos使构建,交付和管理您的微服务平台变得更容易,更快捷。它是通过微服务或云原生方法支持以服务为中心的现代应用程序体系结构的基础架构。

2、nacos 的主要功能

  • 服务发现和服务运行状况检查
    • Nacos支持基于DNS和基于RPC(Dubbo / gRPC)的服务发现
    • 使用DNS或HTTP查找服务
  • 动态配置管理
    • 可以在所有环境中以集中,外部化和动态的方式管理所有应用程序和服务的配置
    • 配置修改有历史版本功能
  • 动态DNS服务
    • 支持加权路由的动态DNS服务
      • 可以更轻松地在数据中心内的生产环境中实施中间层负载平衡
      • 支持更加灵活的路由策略
      • 支持流量控制和简单的DNS解析服务
  • 服务治理和元数据管理
    • 支持对微服务平台构建器的角度管理所有服务和元数据

3、nacos 引入的一些基础概念

  • Region
    • 物理数据中心,在创建资源后不可更改。
  • Available Zone
    • 在一个区域中具有独立电网和网络的物理区域。同一区域中实例的网络延迟较低。
  • Endpoint
    • 每个区域中服务的输入域名。
  • Namespace
    • 用于由租户隔离配置。不同名称空间的配置可能具有相同的组或数据ID。命名空间的常见方案之一是区分和隔离不同环境中的配置,例如在开发和测试环境以及生产环境中。
  • Configuration
    • 在系统开发期间,开发人员通常会从代码中提取一些需要更改的参数或变量,并在单独的配置文件中进行管理。这使静态系统工件或可交付成果(例如WAR和JAR软件包)可以更好地与物理操作环境相适应。配置管理通常系统部署,其中的一部分执行由管理员或操作和维护人员,。配置修改是调整正在运行的系统行为的有效方法。
  • Configuration Management
    • 与配置有关的活动,包括编辑,存储,分发,修改管理,发行版本管理和修改审核。
  • Configuration Item
    • 具有值范围的特定可配置参数,通常形式为param-key = param-value。例如,系统的日志输出级别(logLevel = INFO | WARN | ERROR)被视为配置项。
  • Configuration Set
    • 相关或无关配置的集合items.In的系统中,配置文件通常是配置集包含系统的所有配置。例如,配置集可能包含配置项,例如数据源,线程池和日志级别。
  • Data ID
    • Nacos中配置集的ID。它是根据其配置组织的维度之一。数据ID通常用于组织系统配置集。一个系统或应用程序可以包含多个配置集,每个配置集都可以由一个有意义的名称来标识。数据ID通常使用类似于Java软件包的命名规则(例如com.taobao.tc.refund.log.level),以确保全局唯一性。此命名规则不是强制性的。
  • Group
    • Nacos中的一组配置集。它是根据其配置组织的维度之一。配置集始终按有意义的字符串(例如“购买”或“交易”)进行分组,以区分具有相同数据ID的配置集。在Nacos上创建配置时,默认情况下,如果未指定,则组名将替换为DEFAULT_GROUP。组的典型情况是将相同的配置类型用于不同的应用程序或组件,例如database_url配置和MQ_topic配置。
  • Configuration Snapshot
    • Nacos客户端SDK可以生成本地计算机上的配置快照。当客户端无法连接到Nacos服务器时,快照可用于指示系统的整体灾难恢复功能。配置快照类似于Git或缓存中的本地提交,它会在适当的时间进行更新,但不像缓存中那样具有过期的概念。
  • Service
    • 通过预定义的接口通过网络提供给客户端的软件功能。
  • Service Name
    • 服务提供的标识符,可以唯一地确定所引用的服务。
  • Service Registry
    • 存储服务实例和服务的负载平衡策略的数据库。
  • Service Discovery
    • 在计算机网络上,将探查(通常使用服务名称)服务下实例的地址和元数据,并将其提供给客户端以使用预定义的界面进行查询。
  • Metadata
    • 定制配置信息,例如灾难恢复策略,负载平衡策略,身份验证配置和各种标签。从操作的范围来看,它分为服务级别的元信息,虚拟集群的元信息和实例的元信息。
  • Application
    • 服务的属性,可用于标识服务提供者。
  • Service Group
    • 可以将不同的服务归入同一服务组。
  • Virtual Cluster
    • 可以将同一服务下的服务实例进一步分类。这种分类的一个可能的单位是虚拟集群。
  • Instance
    • 具有提供一个或多个服务的可访问网络地址(IP:Port)的进程。
  • Weight
    • 实例级配置。权重是一个浮点数。权重越大,实例期望分配的流量就越大。
  • Health Check
    • 以指定的方式对服务下的实例进行健康检查,以确保实例可以正常工作。根据检查结果,判断实例是否健康。向服务发起解析请求时,不正常的实例不会返回给客户端。
  • Protect Threshold
    • 为了防止流量由于某些不健康的实例而流向健康的实例,从而导致流量压力,健康的实例崩溃并最终导致雪崩,健康保护阈值应定义为0到1之间的浮点数。域名运行状况实例到总实例小于此值时,无论实例的运行状况如何,实例都会返回给客户端。尽管这可能会导致部分流量丢失,但我们确保其余运行正常的实例可以正常工作。

4、nacos 架构设计

基本架构和概念

image

逻辑体系结构及其组件简介

image

服务实体关系模型

image

配置实体关系模型

image

工件,部署和启动模式

image

发布了442 篇原创文章 · 获赞 1375 · 访问量 210万+

猜你喜欢

转载自blog.csdn.net/qq_15071263/article/details/103374225