
跨集群数据镜像
|
119
区域集群和中心集群
有时候,一个公司会有多个数据中心,它们分布在不同的地理区域、不同的城市或不同
的大洲。这些数据中心都有自己的
Kafka
集群。有些应用程序只需要与本地的
Kafka
集
群通信,而有些则需要访问多个数据中心的数据(否则就没必要考虑跨数据中心的复制
方案了)。有很多情况需要跨数据中心,比如一个公司根据供需情况修改商品价格就是
一个典型的场景。该公司在每个城市都有一个数据中心,它们收集所在城市的供需信
息,并调整商品价格。这些信息将会被镜像到一个中心集群上,业务分析员就可以在上
面生成整个公司的收益报告。
冗余(
DR
)
一个
Kafka
集群足以支撑所有的应用程序,不过你可能会担心集群因某些原因变得不可
用,所以你希望有第二个
Kafka
集群,它与第一个集群有相同的数据,如果发生了紧急
情况,可以将应用程序重定向到第二个集群上。
云迁移
现今有很多公司将它们的业务同时部署在本地数据中心和云端。为了实现冗余,应用
程序通常会运行在云供应商的多个服务区域里,或者使用多个云服务。本地和每个云
服务区域都会有一个
Kafka
集群。本地数据中心和云服务区域里的应用程序使用自己的
Kafka
集群,当然也会在数据中心之间传输数据。例如,如果云端部署了一个新的应用
程序,它需要访问本地的数据。本地的应用程序负责更新数据,并把它们保存在本地的
数据库里。我们可以使用
Connect
捕获这些数据库变更,并把它们保存到本地的
Kafka
集群里,然后再镜像到云端的
Kafka
集群上。这样有助于控制跨数据中心的流量成本 ...