一、服务发现数据模型
Nacos 在经过阿里内部多年生产经验后提炼出的数据模型,则是一种服务-集群-实例的三层模型,这样基本可以满足服务在所有场景下的数据存储和管理。
命令空间(Namespace):用户进行租户粒度的配置隔离,命令空间不仅适用于nacos的配置管理,同样适用于服务发现。
一是不同环境配置的隔离,例如开发测试环境和生产环境的资源隔离。
服务:提供给客户端的软件功能,通过预定义接口网络访问;
服务名:服务提供的标识,通过该标识可以唯一确定其指代的服务;
实例:提供一个或多个服务的具有可访问网络地址(IP:pot)的进程,启动一个服务,就产生一个服务实例;
元信息:cos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签
服务级别的元数据、集群的元数据及实例的元数据;
元信息能够让nacos.更具备扩展性,用户可以自定义数据用于描述实例、服务、集群等;
集群:服务实例的集合,服务实例组成一个默认集群,集群可以被进一步按需求划分,划分的单位可以是虚拟集群,相同集群
应用通过Namespace、
Service、Cluster(DEFAULT)的配置,描述了该服务向那个环境(如开发环境)的哪个集群注册实例:
spring:
cloud:
nacos:
discovery:
server.-addr:127.0.0.1:8848
#注册中心地址
namespace:adsfjklk-3224-83k4-9ds2-r3kkl2khb43k8#
cluster-name:DEFAULT#集群名称默认为DEFAULT
application:
name:quickstart-provider
二、服务管理
服务流量权重支持及流量保护:Ncos为用户提供了流量权重控制的能力,同时开发了服务流量的阈值保护,以帮助用户更好的保护服务不被意外打
垮。如下图所示,可以点击实例的“编辑”按钮,修改实例的权重。如果想增加实例的流量,可以将权重调大,如果不想实例接收流量,则可以将权重设
为0;
服务元数据管理:Ncos提供了多个维度的服务元数据暴露,帮助用户存储自定义的信息。这些信息都是以K-V的数据结构存储,在控制台上,会以
k=V1这样的格式展示。在服务详细页面,也能看到添加的元数据信息。
服务优雅上下线:Ncos还提供服务实例的上下线操作,在服务详细页面,可以点击实例的“上线"或者“下线"按钮,被下线的实例,将不会包含在健
康的实例列表里。
三、服务的流量管理
Nacos支持以下服务的流量管理:
- 动态服务发现和注册:Nacos可以实时感知服务的变化,自动更新服务列表,实现动态服务发现和注册。
- 服务配置:Nacos提供了统一的配置管理功能,可以方便地对服务进行配置和更新。
- DNS服务:Nacos支持动态DNS服务权重路由,能够让我们更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。
- 服务及其元数据管理:Nacos支持从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的SLA以及最首要的metrics统计数据。
请注意,具体功能可能因版本更新有所不同。如果需要了解更多信息,建议查阅Nacos的官方文档或联系相关技术支持人员。