专栏首页生如夏花的个人博客微服务系列(四):服务发现模型

微服务系列(四):服务发现模型

服务发现数据模型

Namespace隔离设计

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

从一个租户(用户)的角度来看,如果有多套不同的环境,那么这个时候可以根据指定的环境来创建不同的 namespce,以此来实现多环境的隔离。例如,你可能有开发,测试和生产三个不同的环境,那么使用一套 nacos 集群可以分别建以下三个不同的 namespace。如下图所示:

从多个租户(用户)的角度来看,每个租户(用户)可能会有自己的 namespace,每个租户(用户)的配置数据以及注 册的服务数据都会归属到自己的 namespace 下,以此来实现多租户间的数据隔离。例如超级管理员分配了三 个租户,分别为张三、李四和王五。分配好了之后,各租户用自己的账户名和密码登录后,创建自己的命名 空间。如下图所示:

数据模型

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

服务 对外提供的软件功能,通过网络访问预定义的接口。 实例 提供一个或多个服务的具有可访问网络地址(IP:Port)的进程,启动一个服务,就产生了一个服务实例。 元信息 Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标 签 (label),从作用范围来看,分为服务级别的元信息、集群的元信息及实例的元信息。 集群 服务实例的集合,服务实例组成一个默认集群, 集群可以被进一步按需求划分,划分的单位可以是虚拟集群,相同 集群下的实例才能相互感知。

通过数据模型可知: 应用通过Namespace、Service、Cluster(DEFAULT)的配置,描述了该服务向哪个环境(如开发环境)的哪个集群 注册实例。 例如 指定namespace的id为a1f8e863-3117-48c4-9dd3-e9ddc2af90a8 指定集群名称:DEFAULT表示默认集群,可不填写

spring: 
	application: 
		name: transaction‐service cloud: 
	nacos: 
		discovery: 
			server‐addr: 127.0.0.1:8848 
			namespace: a1f8e863‐3117‐48c4‐9dd3‐e9ddc2af90a8 
			cluster‐name: DEFAULT # 默认集群,可不填写

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 软件架构的演进

    软件架构的发展经历了从单体架构、垂直架构(分布式架构)、SOA架构到微服务架构的过程。

    许喜朝
  • 微服务系列(一)-服务发现

    在微服务架构中,整个系统会按职责能力划分为多个服务,通过服务之间协作来实现业务目标。这样在我们的代码 中免不了要进行服务间的远程调用,服务的消费方要调用服务的生...

    许喜朝
  • java获取百度网页内容

    RestTemplate是Spring提供的用于访问RESTful服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客...

    许喜朝
  • 从SAP最佳业务实践看企业管理(127)-MM-209外部采购服务

    服务提供商需要由第三方提供的服务。 该业务流程从采购订单开始。参考或不参考采购申请,均可创建采购订单。 登记服务条目可确认所执行的服务。发票是参考采购订单登记的...

    SAP最佳业务实践
  • 一道不一样的前端架构师最终面试题 【实用系列】

    本次写作来源于一次面试,前端架构师岗位,最后面试官临时给我掏出了一道比较少见的面试题 ,终究斩获offer ,虽然这道题并不难,但是考察的东西挺有趣,加上近期有...

    Peter谭金杰
  • 0560-03-如何使用root用户重置FreeIPA admin密码

    前面Fayson文章讲《0558-01-如何在Redhat7上安装FreeIPA》和《0559-02-如何在Redhat7上安装FreeIPA的客户端》,Fre...

    Fayson
  • Tomcat 的单机多实例配置

    有时候需要在一个服务器上部署多个Tomcat,通过不同的端口进行区分,比如,反向代理。但是不想简单的通过复制Tomcat来实现,这样既不方便以后的升级也不方便管...

    黄泽杰
  • 2019 年开源安全现状调查报告发布

    Snyk 做人发布了2019年开源安全现状调查报告,这是一家针对开源项目提供安全服务的知名公司。

    C4rpeDime
  • Tomcat 的单机多实例配置

    有时候需要在一个服务器上部署多个Tomcat,通过不同的端口进行区分,比如,反向代理。但是不想简单的通过复制Tomcat来实现,这样既不方便以后的升级也不方便管...

    未读代码
  • 【麦肯锡报告】ADAS驾驶或将成为汽车行业发展主流

    【新智元导读】麦肯锡(mckinsey)的这份报告探讨了一些有关ADAS最为迫切的问题,涉及未来的需求、技术挑战以及竞争格局等。从处理器、传感器、软件算法、地图...

    新智元

扫码关注云+社区

领取腾讯云代金券