如何在kafka中进行完全复制?
我有两个服务器,一个领导者和一个追随者。
如何确保当leader拒绝(关闭)时,所有发送给follower的消息在开启后也出现在leader上。
我知道启动的一个选项:Kafka 有一个内置的bin/kafka-mirror-maker.sh
同步程序。它应该始终在领导者上运行,然后发送给它的消息也会发送给跟随者。当领导者关闭时,该程序应该在跟随者上启动,并且据我所知,所有消息都会发送给他。在leader开启后,同步后(即消息开始只发给leader的那一刻),这个服务也应该在leader上启动,在follower上关闭,那么消息会一直在同步。
如果您同时在两台服务器上保留这些服务,则消息将无休止地重复。也就是说,由于同步,一条消息将不断地到达跟随者和领导者。
但我不确定这种方法是否正确,它需要额外的资源:用于跟踪所有这些并运行bin/kafka-mirror-maker.sh
.
我怎样才能做到正确而又不浪费资源?