异地灾备

无论在哪个行业,当不可预见的事件发生并导致日常操作停止时,组织都需要一个准备充分的灾难恢复计划,以便快速地将服务恢复到客户端。但是,灾难恢复计划通常需要部署多数据中心,数据中心分布在不同的地理位置。这样的多数据中心部署需要使用地理复制机制,以便在数据中心出现故障时提供额外的冗余。

Pulsar的地理复制机制通常用于灾难恢复,支持跨多个数据中心复制持久存储的消息数据。例如,您的应用程序在一个区域发布数据,您希望对其进行处理以便在其他区域使用。通过Pulsar的地理复制机制,信息可以在不同的地理位置产生和消费。

下图说明了两地三中心复制的过程。每当三个生产者(P1、P2和P3)分别向三个集群中的T1主题发布消息时,这些消息就会在集群之间立即复制。一旦消息被复制,两个使用者(C1和C2)就可以从他们的集群中使用这些消息。

image image

复制机制

两地三中心复制分为同步两地三中心复制和异步两地三中心复制。Pulsar支持这两种复制机制。

异步地域复制

异步地理复制集群由位于不同数据中心的多个物理集群组成。在Pulsar主题上产生的消息首先持久化到本地集群,然后由代理异步复制到远程集群。

异步地理复制提供较低的延迟,但由于某些数据未被复制的潜在复制延迟,可能导致较弱的一致性保证。

通过BookKeeper同步地理复制

在同步地理复制中,数据同步复制到多个数据中心,客户端需要等待其他数据中心的确认。如下所示,当客户端向一个集群发出写请求时,写入的数据将被复制到其他两个数据中心。只有当大多数数据中心(在本例中,至少有两个数据中心)确认写请求已经持久化时,才会向客户端确认写请求。

同步地理复制提供了最高的可用性,同时保证了不同数据中心之间的数据一致性。但是,您的应用程序必须为跨数据中心的延迟付出额外的代价。

复制模式

Pulsar为定制复制策略提供了很大程度的灵活性。您可以设置不同的复制模式,为多个数据中心之间的应用程序提供复制策略。

full-mesh 复制

通过使用full-mesh复制并应用选择性消息复制,您可以在任意数量的数据中心之间自定义复制策略和拓扑。

Active-active 复制

双活复制是全网状复制的一种变体,只有两个数据中心。生产者可以在任何数据中心运行以生成消息,而消费者可以使用来自所有数据中心的所有消息。

Active-standby主从复制

主备复制是active-active复制的变体。生产者向主数据中心发送消息,同时将消息复制到备用数据中心进行备份。当主数据中心故障时,备用数据中心切换为主用数据中心。

Aggregation聚合复制

聚合复制模式通常用于将消息从边缘复制到云。