专栏首页大数据杂货铺SRM常见用例和架构

SRM常见用例和架构

Streams Replication Manager(SRM)是一种企业级复制解决方案,可实现容错、可扩展且健壮的跨集群Kafka主题复制。SRM提供了动态更改配置的功能,并使Topic属性在高性能的集群之间保持同步。SRM还提供了自定义扩展,可促进安装、管理和监视,从而使SRM成为针对任务关键型工作负载而构建的完整复制解决方案。本文主要讨论SRM的主要用例和用例的实现架构。

主要用例

了解SRM的主要用例。

Apache Kafka已成为企业数据管道的重要组成部分,并用于跟踪点击流事件数据、收集日志、收集指标并成为基于微服务的体系结构中的企业数据总线。Kafka支持内部复制以支持集群中的数据可用性。但是,随着基于Kafka的应用程序变得至关重要,企业要求数据可用性和持久性保证跨越整个集群和站点故障。

对于以下用例,跨集群和站点的数据复制是关键:

灾难恢复

跨集群复制的常见企业用例是在存在集群或数据中心范围的中断的情况下保证业务连续性。

汇总分析

聚合可能来自多个数据中心的多个流传输管道中的数据,以运行批处理分析作业,从而提供整个企业的整体视图。

分析后的数据部署

这与聚合用例相反,在聚合用例中,一个集群(例如聚合集群)中由分析应用程序生成的数据可能会广播到多个集群中,可能跨数据中心传播,以供最终用户使用。

隔离

由于性能或安全性原因,需要在不同环境之间复制数据以隔离访问。在许多部署中,摄取集群与消耗集群是隔离的。

地理位置接近

在要求低延迟的地理分布的访问模式中,复制用于将数据移近访问位置。

云迁移

随着越来越多的企业拥有内部部署和云服务,可以使用Kafka复制将数据迁移到公共云或私有云,再迁移回来。

法律与合规

与隔离用例非常相似,策略驱动的复制用于限制集群中可访问的数据以满足法律和法规遵从性要求。

高可用的Kafka架构架构

Kafka的高可用性部署必须能够在单个集群完全中断的情况下幸免于难,同时继续处理事件而不会丢失数据。使用SRM,您可以实施高可用性的Apache Kafka部署,该部署遵循活动/备用或活动/活动模型。

主备架构

在活动/备用方案中,您将设置两个Kafka集群并配置SRM以在两个集群之间双向复制主题。VIP或负载平衡器指导您的生产者将消息提取到正在从中读取消费者组的活动集群中。

图1.主用 /备用架构标准操作

如果发生灾难,VIP或负载平衡器会将生产者引导到备用集群。您可以轻松地迁移您的消费者组,以开始从备用集群中读取数据,或者如果最终的消费者延迟对于您的用例而言是可接受的,则只需等到还原主集群即可。

当主集群关闭时,您的生产者仍然可以提取。恢复主集群后,SRM会自动处理两个集群的同步,从而使故障回复变得无缝。

图2.主用 /备用架构集群故障

当现有的具有已建立策略的灾难恢复站点已经可用时,实施主动/备用架构是合理的选择,并且您的目标包括在灾难期间不丢失接收功能,并在灾难恢复站点中进行备份。

主动/主动架构

在主动/主动方案中,可以将生产者负载平衡到主集群或辅助集群。SRM配置为在两个集群之间双向复制主题。之所以使该架构成为主动/主动架构,是因为您现在拥有让消费者同时从两个集群中读取的事实,基本上就像跨集群的消费者群体一样。万一发生灾难,VIP或负载均衡器会将生产者定向到辅助集群,并且辅助集群消费者组仍然可以处理消息。当主集群关闭时,您的生产者仍然可以接收并且您的消费者仍然可以处理消息。这将导致停机时间为零,并在发生灾难时一旦主集群恢复联机,自动进行故障转移。

图1.主动/主动架构

跨数据中心复制

SRM的跨数据中心复制体系结构示例。

某些应用程序不仅需要在一个数据中心或一个可用性区域内具有本地高可用性,而且还必须在整个数据中心内都具有高可用性。您可以使用SRM在不同数据中心的Kafka集群之间设置复制,从而使消息可用于每个数据中心的消费者。

如果主数据中心发生故障,负载均衡器会将您的生产者引导到本地数据中心或最近的数据中心。SRM配置为在所有数据中心之间复制主题。如果您使用两个以上的数据中心,则将SRM配置为创建“复制圈”,以确保单个数据中心故障(例如,下例中的us-north)不会停止其余集群之间的复制。

图1.跨数据中心复制架构

集群迁移架构

本地到云迁移和Kafka版本升级

用于SRM的本地到云和Kafka版本升级示例架构。

如果您有要迁移到云的本地Apache Kafka集群,则不仅必须迁移消费者和生产者,还必须将主题及其消息迁移到新的基于云的集群。

通过SRM设置复制后,只需要将消费者指向新的代理,即可开始处理来自云集群的消息。这种方法可确保将本地Kafka集群中保留的历史数据迁移到云集群,从而使您可以直接从云中重放消息,而不必返回到本地集群。

图1.本地集群迁移。SRM复制消息时,生产者和消费者正在使用本地集群。

将集群,生产者和消费者迁移到云后,就可以使用SRM改变复制方向,并将本地集群用作DR集群。

生产者和消费者已迁移到云集群,并且本地集群用于灾难恢复。

图2.集群迁移到云

如果必须将Kafka集群升级到较新版本,并且无法就地升级,则可以使用相同的迁移方法来配置新集群,在迁移生产者和消费者之前,可以使用SRM复制所有现有的主题和消息。与新集群进行交互。

汇总分析

SRM的聚合分析架构示例。

SRM可用于聚合可能来自多个数据中心的多个流传输管道中的数据,以运行批处理分析作业,从而提供整个企业的整体视图。

图1.分析汇总

来源:https://docs.cloudera.com/csp/2.0.1/srm-overview/topics/srm-main-use-cases.html

本文分享自微信公众号 - 大数据杂货铺(bigdataGrocery),作者:大数据杂货铺

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 初始Streams Replication Manager

    Streams Replication Manager(SRM)是一种企业级复制解决方案,可实现容错、可扩展且健壮的跨集群Kafka主题复制。SRM提供了动态更...

    大数据杂货铺
  • 运营数据库系列之高可用性

    这篇博客文章是CDP中Cloudera的操作数据库(OpDB)系列文章的一部分。每篇文章都会详细介绍新功能。从该系列的开头开始,请参阅《CDP中的运营数据库》,...

    大数据杂货铺
  • Kafka运维篇之使用SMM监控Kafka集群复制

    继之前《Kafka运维篇之初识Streams Messaging Manager》、《Kafka运维篇之使用SMM监控Kafka集群》和《Kafka运维篇之使用...

    大数据杂货铺
  • 初始Streams Replication Manager

    Streams Replication Manager(SRM)是一种企业级复制解决方案,可实现容错、可扩展且健壮的跨集群Kafka主题复制。SRM提供了动态更...

    大数据杂货铺
  • 微服务扩展性和高可用-集群

    集群是一组计算机系统,它们协同工作以形成用户作为单个系统的形式。部署集群是为了提高服务可用性或提高计算或数据操作性能。就等效计算能力而言,集群比具有相同性能特征...

    日薪月亿
  • .NET Core使用NPOI导出复杂,美观的Excel详解

      这段时间一直专注于数据报表的开发,当然涉及到相关报表的开发数据导出肯定是一个不可避免的问题啦。客户要求要导出优雅,美观的Excel文档格式的来展示数据,当时...

    追逐时光
  • 数据字典生成工具之旅(4):NPOI操作EXECL

           这篇会介绍NPOI读写EXECL,读写EXECL的组件很多,可以使用微软自己的COM组件EXECL.exe读写,不过这种方式限制很大。      ...

    用户1168362
  • 机器学习:半朴素贝叶斯分类器

    主要推送关于对算法的思考以及应用的消息。培养思维能力,注重过程,挖掘背后的原理,刨根问底。本着严谨和准确的态度,目标是撰写实用和启发性的文章,欢迎您的关注。 0...

    double
  • Java基础-脚本引擎

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    cwl_java
  • [信息图]黑客是如何渗入网络并确保长期不被发现的

    在刚刚过去的2014年发生了多起用户隐私被窃事件,其中大部分都是直接对企业网络发起的攻击,而小部分是用户的误操作导致的。大数据安全机构Exabeam近日制作了一...

    安恒信息

扫码关注云+社区

领取腾讯云代金券