技术分享| 分布式系统中服务注册发现组件的原理及比较

背景

在分布式架构的系统中,服务发现简单来讲就是通过服务名找到提供服务的实例地址和端口,主要用于解决如何获取服务实例地址问题。

随着容器技术的兴起,服务集群部署在系统各处,服务之间的远程调用都需要通过服务发现来实现。服务注册发现是分布式系统中不可或缺的关键组件,常用于构建服务注册发现解决方案的开源框架如ZooKeeper、Etcd、Consul。下面主要介绍一下如何基于ZooKeeper、Etcd、Consul构建服务注册发现方案并进行一下对比。

一个标准的服务注册发现架构主要有三部分组成,分别是服务注册中心、服务消费者、服务提供者,架构图如下所示:

在这里插入图片描述

服务注册中心是服务发现的核心组件,其本质上是一个服务名和服务实例地址映射集合,除了提供服务注册发现,服务记录,动态管理服务等功能外,还需要具备如下能力:

  • 容错(Fault Tolerance):服务注册中心保存了分布式系统中所有服务名与服务实例地址映射,一旦故障必将导致整个系统不可用,是整个分布式系统核心,必须具备高可用性。
  • 服务健康检查(Service Health Check):服务注册中心必须要能及时发现故障实例并将其注销以防止被错误访问。
  • 监视器(Watcher):服务注册中心必须具备及时通知服务调用者服务实例注册或注销的能力,以便服务调用者及时采取措施。

注册/注销服务实例一般有两种选择:

    • 1
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值