Dubbo 注册中心

Dubbo 注册中心

Dubbo 注册中心

前言

大家好,今天开始给大家分享 — Dubbo 专题之 Dubbo 注册中心。在上一个章节中我们学习了 Dubbo 中多种协议以及协议的实现原理,同时我们了解到 Dubbo 在不同的使用场景使用不同的协议 比如:高并发、小数据传输我们通常使用长连接,大数据传输我们使用短连接等等。小伙伴可能会问服务消费方是怎样知道在那里去调用服务提供者呢?那么在这个章节中我们将讨论 Dubbo 的注册中心来解答这个问题。那就让我们快速开始吧!

1. Dubbo 注册中心简介

在前面的章节《Dubbo 服务注册与发现》中我们讨论了注册中心所扮演的角色,它主要提供 Dubbo 服务元信息数据注册和消费者获取元数据,并根据服务上下线信息实时通知服务消费方更新本地缓存元数据信息。这样我们的服务调用者就不用强耦合服务提供方的信息,直接从注册中心获取。同时我们的 Dubbo Admin 也是通过通过管理注册中心元数据来达到服务治理的能力。在 Dubbo 中也支持同一个服务元信息同时注册到多个注册中心。下图以注册服务为静态服务通过在 Dubbo Admin 中启用服务为例:

Dubbo 注册中心

在服务提供者启动服务时,在注册中心注册服务为静态服务此时服务消费者是不能调用服务提供者。当我们通过Dubbo Admin 配置服务为启用状态,此时消费端收到配置变更消息并更新本地元数据,然后发起对提供者的调用。

Tips:自2.7.x开始 Dubbo 的注册信息和配置信息进行分离,在此之前两者数据都是放在注册中心。

2. Dubbo 支持的注册中心

在 Dubbo 中支持多种注册中心分别是:

  • Multicast

    Multicast 注册中心不需要启动任何中心节点,只要广播地址一样,就可以互相发现。

  • Zookeeper

    Zookeeper 是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用

  • Nacos

    Nacos 是最近由 Alibaba 推出快速实现动态服务发现、服务配置、服务元数据及流量管理、多租户的开源项目。同时支持注册中心、配置中心分离和合并部署。

  • Redis

    基于 Redis 实现的注册中心,使用 Redis 的 Key/Map 结构存储数据结构,使用 Redis 的 Publish/Subscribe 事件通知数据变更。

  • Simple

    Simple 注册中心本身就是一个普通的 Dubbo 服务,可以减少第三方依赖,使整体通讯方式一致。

3. Dubbo 配置方式

下面我们主要看看常用的注册中心配置方式:

  1. Zookeeper
  • 单机配置
    <dubbo:registry address="zookeeper://127.0.0.1:2181" />
    
  • 集群配置
    <dubbo:registry address="zookeeper://127.0.0.1:2181?backup=127.0.0.2:
剩余70%内容付费后可查看
0