Kafka双机房高可用的实现方案哪种更优?

为了避免机房故障造成的服务不可用情况,所以考虑做双机房的高可用。
1、AB机房各部署一套kafka集群,相当于主备,使用 MirrorMaker、LinkedIn等逻辑复制工具去同步数据
2、将Kafka的节点分布部署在AB机房,通过机架信息确保每个Topic在每个机房都保存了副本

1方案的网络流量压力会大于2方案,且需要多维护一个复制工具,但如果某个集群挂了,另一个直接就有全量数据
比较想请教,在实际的这种应用场景,建议采用哪种?以及其他需要考虑的问题都有哪些

参与19

3同行回答

waring_idwaring_id技术经理某公司
要结合消费端的场景综合考虑,以下是需要考虑的磁盘和网络性能指标:1、磁盘IO要求小于1ms(磁盘存储ACK确认原则)2、光在光纤中的传输速度按20万KM计算(光速理论值的70%),100KM的时延为1ms(单向传输...显示全部

要结合消费端的场景综合考虑,以下是需要考虑的磁盘和网络性能指标:
1、磁盘IO要求小于1ms(磁盘存储ACK确认原则)
2、光在光纤中的传输速度按20万KM计算(光速理论值的70%),100KM的时延为1ms(单向传输

收起
零售/批发 · 2023-07-01
Luga LeeLuga Lee系统架构师None
这个取决于业务及架构特性,以及围绕业务所带来的成本问题。需要结合自身企业的实际情况进行,比如,技术实力、业务特性、资金支持等。。。显示全部

这个取决于业务及架构特性,以及围绕业务所带来的成本问题。需要结合自身企业的实际情况进行,比如,技术实力、业务特性、资金支持等。。。

收起
互联网服务 · 2023-06-06
HelloWorDomainHelloWorDomain联盟成员其它保密
二者对比MirrorMarker的解决方案更好一些。MirrorMarker是 Kafka 官方提供的一个工具,可以将一个集群的数据复制到另一个集群,实现跨机房的数据同步。但是 MirrorMaker 也有一些缺点,比如性能低下、不支持动态配置、无法保证数据一致性等(这方面也要在设计方案时加以考虑)。...显示全部

二者对比MirrorMarker的解决方案更好一些。
MirrorMarker是 Kafka 官方提供的一个工具,可以将一个集群的数据复制到另一个集群,实现跨机房的数据同步。但是 MirrorMaker 也有一些缺点,比如性能低下、不支持动态配置、无法保证数据一致性等(这方面也要在设计方案时加以考虑)。

收起
互联网服务 · 2023-06-05
  • 感谢回复,MirrorMarker2应该修复了部分1中的问题,综合考量这些这些复制工具,有没有较为推荐或有接触到的实际投入使用的工具?
    2023-06-06
  • 是的,MirrorMaker2在一定程度上修复了1部分中的内容。它是一个比较新的技术栈,所以需要先进行功能测试,其原因是:MirrorMaker2需要额外的资源来运行,我们要评估您的业务压力对于资源的损耗。此外此解决方案中,数据在不同的集群传输,所以会增加网络流量和延迟,这部分的带宽资源损耗,需要实际业务场景评估。
    2023-06-08

ChatGPT 回答

在实际应用场景中,建议采用方案2,将Kafka的节点分布部署在AB机房,通过机架信息确保每个Topic在每个机房都保存了副本。这是因为方案2可以减少网络流量,同时也可以减少维护复制工具的工作量。另外,方案2可以更好地保证数据的一致性和可用性。

除了方案选择之外,还需要考虑以下问题:

  1. 机房选择:需要选择两个相对独立的机房,避免一起宕机的情况。
  2. 网络带宽:需要保证两个机房之间的网络带宽足够,以保证数据同步的及时性。
  3. 负载均衡:需要考虑如何实现负载均衡,以保证数据的高可用性和可扩展性。
  4. 安全性:需要考虑如何保证数据的安全性,例如数据加密、访问控制等。
  5. 监控和报警:需要建立完善的监控和报警机制,及时发现和解决问题。
  6. 业务需求:需要根据具体业务需求,选择合适的方案和技术架构。

提问者

金金金
大数据工程师中原银行

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-06-01
  • 关注会员:4 人
  • 问题浏览:1774
  • 最近回答:2023-07-01
  • X社区推广