为了避免机房故障造成的服务不可用情况,所以考虑做双机房的高可用。
1、AB机房各部署一套kafka集群,相当于主备,使用 MirrorMaker、LinkedIn等逻辑复制工具去同步数据
2、将Kafka的节点分布部署在AB机房,通过机架信息确保每个Topic在每个机房都保存了副本
1方案的网络流量压力会大于2方案,且需要多维护一个复制工具,但如果某个集群挂了,另一个直接就有全量数据
比较想请教,在实际的这种应用场景,建议采用哪种?以及其他需要考虑的问题都有哪些
在实际应用场景中,建议采用方案2,将Kafka的节点分布部署在AB机房,通过机架信息确保每个Topic在每个机房都保存了副本。这是因为方案2可以减少网络流量,同时也可以减少维护复制工具的工作量。另外,方案2可以更好地保证数据的一致性和可用性。
除了方案选择之外,还需要考虑以下问题: