内容简介:背景:Kafka多机房(多AZ)部署可以保证数据容灾和高稳定性。但是多机房部署如何解决数据一致性的问题?目的:
背景:
Kafka多机房(多AZ)部署可以保证数据容灾和高稳定性。但是多机房部署如何解决数据一致性的问题?
目的:
Kafka集群多机房(多AZ部署)解决数据一致性的问题。
部署方案概况:
Kafka 的 MirrorMaker工具解决数据一致性的问题。基本原理是使用Kafka的客户端启动消费者和生产者,从源集群消费数据并将数据生产,写入目标的Kafka集群。
部署方案:
#1.新建镜像目标集群。 #2.新建配置文件(模拟消费者)sourceClusterConsumer.config,最简单的文件内容包括了<bootstrap.servers>和<group.id> bootstrap.servers=10.160.100.2:9092,10.160.99.4:9092 group.id=MirrorGroupTest #3.新建配置文件(模拟生产者)targetClusterProducer.config,最简单的文件内容包括了<bootstrap.servers> bootstrap.servers=10.237.59.114:9092,10.237.59.178:9092 #4.执行如下命令进行数据同步 ./kafka-run-class.sh kafka.tools.MirrorMaker --new.consumer --consumer.config sourceClusterConsumer.config --producer.config targetClusterProducer.config --whitelist="security_logstash" & ##参数介绍 ##kafka.tools.MirrorMaker主类 ##--new.consumer 代表启动一个新的消费者 ##--consumer.config 消费者配置 ##--producer.config 生产者配置 ##--whitelist 要数据同步的topic列表,支持正则匹配
效果检查:
目标集群将不断的从源集群消费数据并写入到镜像集群中。
问题总结:
1.当源集群出现故障时(ZK挂了),如何保证数据一致性?
2.如何保证消费者可以两个集群消费的数据是不会重复的?
参考资料:
https://blog.csdn.net/zhanyuanlin/article/details/76695481
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- docker k8s 集群部署tomcat,使用一个镜像,增加镜像的复用性。
- 大规模集群中 Docker 镜像如何分发管理?试试 Uber 刚开源的 Kraken
- KVM镜像制作及挂载镜像文件
- 查看Docker镜像仓库中镜像的所有标签
- Vagrant 使用国内镜像安装插件和 box 镜像
- 不要轻易使用 Alpine 镜像来构建 Docker 镜像,有坑!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。