Nacos概述

1.1      Nacos是什么

Nacos是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施,致力于微服务的发现、管理和信息配置,能帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理,从而更敏捷、更容易的构建、交付和管理微服务平台。Nacos支持几乎所有主流类型(诸如:Kubernetes Service、gRPC & Dubbo RPC Service、SpringCloud RESTful Service)的服务的发现、配置和管理。其关键特性有:

1)服务发现和服务健康监测

Nacos支持基于DNS和基于RPC的服务发现。服务提供者使用原生SDK、OpenAPI、或一个独立的Agent TODO注册Service后,服务消费者可以使用DNS TODO或HTTP&API查找和发现服务。

Nacos提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos支持传输层(PING或TCP)和应用层(如:HTTP、MySQL、用户自定义)的健康检查。对于复杂的云环境和网络拓扑环境中(如:VPC、边缘网络等)服务的健康检查,Nacos提供了agent上报模式和服务端主动检测2种健康检查模式。Nacos还提供了统一的健康检查仪表盘,帮忙用户根据健康状态管理服务的可用性及流量。

2)动态配置服务

动态配置服务可以让你以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置,消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。

配置中心化管理让实现无状态服务变得更加简单,让服务按需弹性扩展变得更容易。

Nacos提供了一个简洁易用的UI(控制台样例 Demo)帮助你管理所有的服务和应用的配置。Nacos还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和降低配置变更带来的风险。

3)动态DNS服务

动态DNS服务支持权重路由,让你更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。动态DNS服务还能让你更容易地实现以 DNS 协议为基础的服务发现,以帮助你消除耦合到厂商私有服务发现API上的风险。

Nacos 提供了一些简单的DNS APIs TODO 帮助你管理服务的关联域名和可用的 IP:PORT 列表。

4)服务及其元数据管理

Nacos 能让你从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。

1.2      Nacos全景图

1.3      Nacos基础概念

1)地域(Region)

物理的数据中心,资源创建成功后不能更换;

2)可用区(Available Zone)

同一地域内,电力和网络互相独立的物理区域,同一可用区内,实例的网络延迟较低;

3)接入点(Endpoint)

地域的某个服务的入口域名;

4)命名空间(Namespace)

用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的Group或 Data ID的配置。Namespace的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如:配置、服务)隔离等;

5)配置(Configuration)

在系统开发过程中,开发者通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如:WAR、JAR等)更好地和实际的物理运行环境进行适配。配置管理一般包含在系统部署的过程中,由系统管理员或者运维人员完成。配置变更是调整系统运行时的行为的有效手段。

Ø  配置管理(Configuration Management)

系统配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等所有与配置相关的活动。

Ø  配置项(Configuration Item)

一个具体的可配置的参数与其值域,通常以 param-key=param-value形式存在,例如:我们常配置的系统日志输出基本(logLevel=INFO|WARN|ERROR)就是一个配置项。

Ø  配置集(Configuration Set)

一组相关或者不相关的配置项的集合称为配置集。在系统中,一个配置文件通常就是一个配置集,包含老系统各个方面的配置。例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。

Ø  配置集ID(Data ID)

Nacos中的某个配置集的ID。配置集ID是组织划分配置的维度之一。Data ID通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。Data ID通常采用类Java 包(如:com.taobao.tc.refund.log.level)的命名规则保证全局唯一性,此命名规则非强制。

Ø  配置分组(Group)

Nacos中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串(如:Buy或Trace)对配置集进行分组,从而区分Data ID相同的配置集。当您在Nacos上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP。配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如:database_url配置和MQ_topic配置。

Ø  配置快照(Configuration Snapshot)

Nacos的客户端SDK会在本地生成配置的快照。当客户端无法连接到Nacos Server时,可以使用配置快照显示系统的整体容灾能力。配置快照类似于 Git 的本地 Commit,也类似于缓存,会在适当的时机更新,但是并没有缓存过期(expiration)的概念。

6)服务(Service)

通过预定义接口网络访问的提供给客户端的软件功能。

7)服务名(Service Name)

服务提供的标识,通过该标识可以唯一确定其指代的服务。

8)服务注册中(Service Registry)

存储服务实例和服务负载均衡策略的数据库。

9)服务发现(Service Discovery)

在计算机网络上,(通常使用服务名)对服务下的实例的地址和元数据进行探测,并以预定义的接口提供给客户端进行查询。

10)元信息(Metadata)

Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签(label),从作用范围来看,分为服务级别的元信息、集群的元信息及实例的元信息。

11)应用(Application)

英语标识服务提供方的服务的属性。

12)服务分组(Service Group)

不同的服务可以归档到同一分组。

13)虚拟集群(Virtual Cluster)

同一服务下的所有服务实例组成一个默认集群,集群可以被进一步按需求划分,划分的单位可以是虚拟集群。

14)实例(Instance)

提供一个或多个服务的具有可访问网络地址(IP:Port)的进程。

15)权重(weight)

实例级别的配置。权重为浮点数。权重越大,分配给该实例的流量越大。

16)健康检查(Health Check)

以制定方式检查服务下挂载的实例(Instance)的健康度,从而确认该实例(Instance)是否能提供服务。根据检查结果,实例(Instance)会被判断为健康或不健康。对服务发起解析请求时,不健康的实例(Instance)不会返回给客户端。

17)健康保护阈值(Protect Threshold)

为了防止因过多实例(Instance)不健康导致流量全部流向健康实例(Instance),继而造成流量压力把健康实例压垮并形成雪崩效应,应将健康保护阈值定义为一个0到1之间的浮点数。当域名健康实例(Instance)占总服务实例的比例小于改值,无论实例是否健康,都会讲这个实例返回给客户端。这样做虽然损失了一部分流量,但保证了集群的剩余健康实例能正常工作。

来源:https://www.icode9.com/content-4-765451.html

(0)

相关推荐

  • Nacos源码流程图

    Nacos核心功能点 服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如ip地址.端口等信息.Nacos Server接收到 ...

  • 如何配置 SAP BTP Integration Suite 测试帐号的环境

    官方链接 SAP 集成套件将云集成(流程集成).API 管理.集成 Advisor 和 Open Connectors 等集成功能组合成一个用于企业集成的有凝聚力和简化的工具包. 为了提供全面的集成体 ...

  • 生态旅游概述

    生态旅游被广泛定义为到濒危和通常未受干扰的地方进行的低影响旅游.它与传统旅游不同,因为它可以让游客对当地的自然景观和文化特征有所了解,而且经常为保护提供资金,并有利于经常贫困地区的经济发展. 生态旅游 ...

  • 经络穴位解读——手阳明大肠经概述及重要穴位

    经络穴位解读--手阳明大肠经概述及重要穴位 原创牛奶和奶牛2020-11-30 19:20:14 今天我们来解读一下手阳明大肠经.在中医学里,经络是与脏腑相匹配的.同时也是互为表里的关系.例如手太阴肺 ...

  • 区域地理学概述

    区域地理学是地理学研究世界区域的一个分支.一个地区本身被定义为地球表面的一部分,具有一个或多个类似的特征,使其有别于其他地区.区域地理学研究的是与地方的文化.经济.地形.气候.政治和环境因素有关的特定 ...

  • 概述蛋白石

    蛋白石因颜色.光泽独特而名.其彩虹般绚丽耀目的光芒多彩似马赛克,充满了神秘性,足其它宝石无可比拟的. 虽然名为蛋白石,却非单一色调,如果仅仅是白色,倒反而没有价值了.透明.红色.黄色色系,在澳洲多为乳 ...

  • 中国历史概述(九十六)——蒙古太宗至宪宗时期的政治经济

    前面几期我们着重从军事征服角度介绍了成吉思汗即位到蒙哥去世前后蒙古的历史.本期我们着重介绍在蒙古太宗窝阔台至宪宗蒙哥时期的政治经济等方面的情况. 成吉思汗的分封 蒙古汗国是成吉思汗在母亲.诸弟帮助下建 ...

  • 中国历史概述(九十四下)——附 蒙古对东北地区的征服

    蒙古对东北地区的征服过程,与金国在东北势力的消亡有关.蒙古在东北的统治前期依靠契丹.女真等族贵族建立的政权作为藩属,到元初逐渐改为直接统治. 蒙古对辽西的战争与东辽国的建立 1211年,蒙古军第一次围 ...

  • 中国历史概述(九十四上)——蒙金战争与金国覆灭

    蒙古对金的战争和最后的完全征服花费了二十多年的时间,这期间由于西征等原因,对金作战并不是一次性完成的.而在这个过程中,金国内部的矛盾和红袄军起义也加速了金的灭亡.本期专述蒙古对金战争与金国灭亡的历史. ...

  • 中国历史概述(九十三)——蒙古对回鹘、西辽、西夏、吐蕃、大理的征服

    蒙古汗国在建立以后,通过数十年的战争,先后收服回鹘.灭西辽.灭西夏.收服吐蕃.灭大理,将西部的辽阔地区纳入版图中.本期主要介绍以上历史内容.关于蒙古三次大规模西征的情况,将在第九十五期作介绍. 回鹘的 ...

  • 总线概述及常见总线

    一. 总线概念 所谓总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道.总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,可以将计算机系统内的多种设备 ...