<p>I don't understand a difference between running 1 Kafka node with 3 replicas and 3 Kafka nodes each with 1 replica.</p>

<p>We maintain our own Kubernetes cluster where we want to run a Kafka cluster. We're using a <a href="https://github.com/bitnami/charts/tree/master/bitnami/kafka" rel="nofollow noreferrer">Bitnami Helm chart</a>. </p>

<p>We can set:</p>

<ol>
<li>...3 different Kafka services with 1 replica and each has its own URL (e.g. localhost:9092, localhost:9093 and localhost:9094).</li>
<li>...1 Kafka service running in 3 replicas (there are only 1 URL localhost:9092 for all replicas).</li>
</ol>

<p>Is there any difference in a way of synchronization and what is a better way for configuration?</p>

Prokop Simek
<p>1 Kafka node with 3 replicas are in the same machine. The data will be stored in the same server. The replication on the same Kafka server is to create a security to avoid data to be corrupted. </p>

<p>About 3 kafka with 1 replica is another approach. For example, if one of your servers took down, another Kafka can assume the leader position for specific topic if all data replicated from the same topic. This is one of the beauties of Kafka. If you configure in the right way, Zookeeper can do the replace and your service will not crash. </p>

<p>One of the best practices that you can do in production is create two zookeepers (leader electors) an put 3 or 4 kafkas in different machines and, each kafka, with 3 in replica factor. This will create a strong consistency in your data and, same if one or two servers down, your kafka will run in a certain safe way.</p>

<p>This happened to me. 4 kafkas, 2 down and everything still running perfectly. Also, some details need to be put on configurations. Suggest you to see about the <a href="https://www.youtube.com/watch?v=ZOU7PJWZU9w&amp;list=PLt1SIbA8guusxiHz9bveV-UHs_biWFegU&amp;index=5" rel="nofollow noreferrer">Stephane Maarek on YT</a>. </p>
