<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>In order to provide high availability and utilize Kafka's parallelism for multiple consumers, you should scale up and I would recommend 3 servers.<br>
Multiple brokers setup will spread messages/partitions across different brokers for the same topic, so a consumer group can receive messages from different brokers with high parallelism.  </p>

<p>Furthermore, notice that replications helps you only for high availability, so partition replica/s will take the lead in case of a server failure.<br>
For 3 nodes cluster I would recomnend to start with 2 replicas, so one server failure will cause no message loss at all; if availability is very important to you, or you don't trust your hardware, go with 3 replicas, this way you can survive two shutdowns at the same time, but compromise more disk space on servers.</p>
