카프카의 MirroMaker



https://cwiki.apache.org/confluence/display/KAFKA/KIP-3+-+Mirror+Maker+Enhancement

카프카 브로커의 특정 topic을 다른 곳으로 다른 브로커로 보낼 수 있는 간단한 기능이다.

복제가 된다는 점에서 훌륭한 툴이다.


(최근에 elasticsearch도 cross cluster replication를 선보였다.)



 replicator에 비하면 약한 부분이 있기는 하지만 무료이다.


https://docs.confluent.io/current/multi-dc-replicator/mirrormaker.html


사용법은 원체 간단하다. 

> bin/kafka-mirror-maker.sh

      --consumer.config consumer.properties

      --producer.config producer.properties --whitelist my-topic


특이할 점은 consumer 쓰레드 개수를  조절할 수 있다.


소스를 살펴보면,

https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/tools/MirrorMaker.scala


중요한 부분은 consumer는 multi-thread로 실행되고

producer는 while문에서 flush이 이루어지기 때문에. consumer 쪽 보다는 데이터가 많아진다면 producer쪽 이슈가 생길 수 있다. 


Posted by '김용환'
,