更新时间:2024-04-25 GMT+08:00
分享

服务发现概述

Cloud Map是云服务统一的服务注册发现中心,主要是为解决业务依赖环境配置繁琐的难题,主要特性如下:

  • 服务注册和发现: 支持一方/二方/三方服务和中间件统一注册和发现,可作为微服务注册发现中心。
  • 业务故障隔离:无集中式的Cloud Map中心,不同业务如应用市场的Cloud Map故障不影响其他业务的正常运行。
  • 服务路由:支持双云、多活、跨站点访问等路由策略。
  • 服务间调用关系正向设计和治理:在Cloud Map IaC中对服务间关系正向定义,运行态中Cloud Map会记录服务间的依赖关系。
  • 微服务配置中心:支持作为CSE微服务的配置中心,用于下发CSE动态配置。

Cloud Map根据服务注册和发现方式不同,把管理的服务资源分为三种:微服务、中间件、接入地址,具体介绍如表1所示。

表1 服务资源说明

服务形态

描述

微服务

微服务之间通过微服务框架点对点通信,微服务提供方(Provider)实例节点把自己的IP和端口注册到Cloud Map,并通过心跳的方式维持注册。调用方(Consumer)实例查询Provider的所有实例列表,实现点对点调用。微服务属于一个服务,一个微服务可能有多个集群。

中间件

中间件对应一个中间件集群,Cloud Map里记录连接这个中间件集群,中间件SDK所有需要的配置,包括地址、秘钥,密码信息等。一个服务可能会申请多个中间件集群 。

接入地址(URL)

业务之间调用都是通过一个地址进行访问,对于内部服务,URL地址挂在提供方服务下面,由提供方提供。对于公有云、以及外部的服务地址,挂在使用方服务下面,由使用方自己维护。一个服务可能会开放多个接入地址,也会依赖多个接入地址。

用户自身云服务业务依赖的服务,根据不同的提供方和服务形态定义为以下四种:

  • 一方服务:用户自身云服务提供的服务,包括P层/S层服务。
  • 二方服务:华为云提供的I层/P层/S层服务。
  • 三方服务:第三方厂商提供的服务。
  • 中间件:指业务服务实现自身功能需要用到的技术组件,随业务服务独立部署和运维。

四种服务在Cloud Map中注册和发现的方式如表2所示。

表2 服务注册和发现

服务分类

场景

注册

发现

一方服务

服务之间

服务提供方通过IaC注册地址

通过Cloud Map SDK查询

服务内部微服务之间

通过Cloud Map SDK注册机器IP,并维持心跳

通过Cloud Map SDK发现

二方服务

数据库

通过IaC申请数据库,数据库管理台自动注册

通过中间件SDK访问

接口类型服务

使用方通过IaC注册地址

通过Cloud Map SDK发现

三方服务

外部地址

使用方通过IaC注册地址

通过Cloud Map SDK发现

中间件

中间件

通过IaC申请中间件集群,中间件管理台自动注册

通过中间件SDK访问

  • 一方服务由服务提供方通过IaC注册到Cloud Map。
  • 业务自己依赖的二方、三方服务通过IaC注册到Cloud Map。
  • 业务在申请中间件集群的时候,中间件管理台会把连接中间件集群的信息注册到Cloud Map。
  • 业务可以通过Cloud Map发现依赖的一方/二方/三方服务和中间件信息。
  • Cloud Map作为微服务的注册中心,业务自身微服务通过Cloud Map相互注册发现。并且可以作为CSE的配置中心。

使用限制

  • 语言限制:当前仅支持JAVA语言的SDK。
  • 微服务开发框架限制:当前仅支持CSE\Spring Cloud微服务框架。
  • 中间件接入限制:当前仅支持WiseDBA管理台纳管的数据库。
  • 功能限制:不支持替换业务自己的ZK\ETCD等配置中心。
分享:

    相关文档

    相关产品