美文网首页
Nacos - 服务发现(3)

Nacos - 服务发现(3)

作者: __元昊__ | 来源:发表于2020-01-02 16:44 被阅读0次

3 Nacos服务发现基础应用

3.1 服务发现数据模型

Nacos在经过阿里内部多年生产经验后提炼出的数据模型,则是一种服务-集群-实例的三层模型,这样基本可以满足服务在所有场景下的数据存储和管理。


QQ截图20200102162710.png

命名空间(Namespace)
用于进行租户粒度的配置隔离,命名空间不仅适用于nacos的配置管理,同样适用于服务发现。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

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

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

实例
提供一个或多个服务的具有可访问网络地址(IP:Port)的进程,启动一个服务,就产生了一个服务实例。

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

集群
服务实例的集合,服务实例组成一个默认集群, 集群可以被进一步按需求划分,划分的单位可以是虚拟集群,相同集群下的实例才能相互感知。

应用通过Namespace、Service、Cluster(DEFAULT)的配置,描述了该服务向哪个环境(如开发环境)的哪个集群注册实例。

spring:
  application:
    name: transaction‐service
  cloud:
    nacos:
      discovery:
        server‐addr: 127.0.0.1:7283 # 注册中心地址
        namespace: a1f8e863‐3117‐48c4‐9dd3‐e9ddc2af90a8 # 开发环境
        cluster‐name: DEFAULT # 默认集群,可不填写

Note: 集群作为实例的隔离,相同集群的实例才能相互感知。

Note: namespace、cluster-name若不填写都将采取默认值,namespace的默认是public命名空间,cluster-name的默认值为DEFAULT集群。

3.2 服务管理

开发者或者运维人员往往需要在服务注册后,通过友好的界面来查看服务的注册情况,包括当前系统注册的所有服务和每个服务的详情。并在有权限控制的情况下,进行服务的一些配置的编辑操作。Nacos在目前最新版本开放的控制台的服务发现部分,主要就是提供用户一个基本的运维页面,能够查看、编辑当前注册的服务,这些功能集中在Nacos控制台的服务管理一级菜单内。

3.2.1 服务列表管理

服务列表帮助用户以统一的视图管理其所有的微服务以及服务健康状态。整体界面布局是左上角有服务的搜索框和搜索按钮,页面中央是服务列表的展示。服务列表主要展示服务名、集群数目、实例数目、健康实例数目和详情按钮五个栏目。


QQ截图20200102163859.png

在服务列表页面点击详情,可以看到服务的详情。可以查看服务、集群和实例的基本信息。

3.2.2 服务流量权重支持及流量保护

Nacos 为用户提供了流量权重控制的能力,同时开放了服务流量的阈值保护,以帮助用户更好的保护服务服务提供者集群不被意外打垮。如下图所以,可以点击实例的编辑按钮,修改实例的权重。如果想增加实例的流量,可以将权重调大,如果不想实例接收流量,则可以将权重设为0。


QQ截图20200102164013.png
3.2.3 服务元数据管理

Nacos提供多个维度的服务元数据的暴露,帮助用户存储自定义的信息。这些信息都是以K-V的数据结构存储,在控制台上,会以k1=v1,k2=v2这样的格式展示。类似的,编辑元数据可以通过相同的格式进行。例如服务的元数据编辑,首先点击服务详情页右上角的“编辑服务”按钮,然后在元数据输入框输入:version=1.0。


QQ截图20200102164116.png

点击确认,就可以在服务详情页面,看到服务的元数据已经更新了。


QQ截图20200102164149.png
3.2.4 服务优雅上下线

Nacos还提供服务实例的上下线操作,在服务详情页面,可以点击实例的“上线”或者“下线”按钮,被下线的实例,将不会包含在健康的实例列表里。

QQ截图20200102164232.png
上下线测试:
(1)分别启动快速上手中的quickstart-consumer与quickstart-provider工程,更改quickstart-provide中的启动端口,再次启动quickstart-provider,让quickstart-provider服务拥有两个实例。
QQ截图20200102164320.png
(2)多次访问http://127.0.0.1:56020/service ,让consumer调用provider时触发负载均衡。
(3)观察provider的2个实例控制台,可发现实例调用被均匀负载。
(4)在provider的服务详情页面,让某实例下线。
QQ截图20200102164404.png
(5)多次访问http://127.0.0.1:56020/service ,观察控制台,发现下线的实例已不再接收流量。
(6)在provider的服务详情页面,让该实例恢复上线状态。
(7)多次访问http://127.0.0.1:56020/service ,观察控制台,发现恢复上线的实例已恢复流量访问。

相关文章

  • Nacos - 服务发现(3)

    3 Nacos服务发现基础应用 3.1 服务发现数据模型 Nacos在经过阿里内部多年生产经验后提炼出的数据模型,...

  • 3. nacos服务发现

    本文讲解以下几个方面的内容: 1. nacos服务发现原理 2. spring cloud服务协作流程 3.搭建n...

  • Nacos服务发现

    一、服务注册和发现架构 Nacos 另一个非常重要的特性就是服务注册与发现,说到服务的注册与发现相信大家应该都不陌...

  • Linux安装和部署Nacos配置中心及Seata分布式事务

    Nacos及Seata简介 Nacos 支持几乎所有主流类型的服务的发现、配置和管理。使用 Nacos 简化服务发...

  • Nacos 2.0 正式发布,性能提升 10 倍!!

    3月20号,Nacos 2.0.0 正式发布了! Nacos 简介: 一个更易于构建云原生应用的动态服务发现、配置...

  • nacos简介以及作为注册/配置中心与Eureka、apollo

    一、Nacos简介 Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现、配置和管理。 Na...

  • WCS 系统技术选型

    面向开发 微服务框架 Spring Cloud 服务发现 Nacos 集中配置 Nacos API 网关 Spri...

  • 15

    1、Nacos与Eureka的区别 2、Nacos与服务之间怎么保持通讯,服务宕机又重新恢复如何通知nacos 3...

  • 从实现原理来讲,Nacos 为什么这么强?

    今天来分享一下Nacos注册中心的底层原理,从服务注册到服务发现,非常细致 一. Nacos介绍 再讲Nacos之...

  • nacos集群部署

    Nacos 致力于发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,快速实现动态服务发现、服务配置、...

网友评论

      本文标题:Nacos - 服务发现(3)

      本文链接:https://www.haomeiwen.com/subject/tmeooctx.html