title: Does kafka consumer manages its state?
body: <p>I have a Kafka cluster set up using three GCP VM instances. All three VMs have Zookeepers and servers running on then.</p>
  
  <p>I followed this guide for my set up: <a href="https://codeforgeek.com/how-to-setup-multi-node-multi-broker-kafka-cluster-in-aws/" rel="nofollow noreferrer">How to Setup Multi-Node Multi Broker Kafka Cluster in AWS</a></p>
  
  <p>I have kept all three instances in different regions in order to achieve High Availability in case of regional failure in Cloud Service (GCP or AWS, I understand it is highly unlikely).</p>
  
  <p>I have a topic created with replication-factor as <code>3</code>. Now, suppose one region goes entirely down and only two nodes are alive. What happens to a consumer who was reading from the VM in the failed (which was working previously)?</p>
  
  <p>Once the services in the region come back up, would this consumer (having a unique client_id) maintain its state and read only new messages?</p>
  
  <p>Also, what if I have 7 VMs divided (2,2,3) across 3 regions:</p>
  
  <ol>
  <li>Is it a good idea to keep the replication factor as <code>7</code> to achieve high availability?</li>
  <li>I am thinking of 7 VMs because any of the regions go down, we still have the majority of Kafka nodes running. Is it possible to run a Kafka cluster with majority of nodes down? (E.g 4 out of 7 nodes down)</li>
  </ol>