この記事は Distributed computing Advent Calendar 2017 20 日目の記事です。 Kafka のレプリケーションは、高可用性と高信頼性を実現するための、重要な機能の 1 つです。 この記事では、Kafka のレプリケーションの仕組みについて紹介します。 レプリケーションの基礎 Kafka のデータストリームの最小単位はパーティションです。またレプリケーションもパーティション単位で行われます。 Kafka のレプリケーションの情報は、ZooKeeper 上に保存されています。 レプリカの配置情報は、${prefix}/brokers/topics/${topic} に JSON で保存されます。 { "version": 1, "partitions": { "0": [0, 1], "1": [1, 2] } } トピック作成時にはレプリカ数を指定し