title: Is it a good way to run Kafka on Kubernetes?
body: <p>For a large online application, use k8s to run it. The scale maybe daily activity user 500,000.</p>
  
  <p>The application inside k8s need messaging feature - Pub/Sub, there are these options:</p>
  
  <ul>
  <li>Kafka</li>
  <li>RabbitMQ</li>
  <li>Redis</li>
  </ul>
  
  <h1>Kafka</h1>
  
  <p>It needs zookeeper and good to run on os depends on disk I/O. So if install it into k8s cluster, how? The performance will be worse?</p>
  
  <p>And, if keep Kafka outside of the k8s cluster, connect Kafka from application inside the k8s cluster, how about that performance? They are in the different layer, won't be slow?</p>
  
  <h1>RabbitMQ</h1>
  
  <p>It's slow than Kafka, but for a daily activity user 500,000 application, is it good enough? If so, maybe it's a good choice.</p>
  
  <h1>Redis</h1>
  
  <p>It's another option. Maybe the most simple one. But from the internet I got that it will lose message sometimes. If true, that's terrible.</p>
  
  <hr>
  
  <p>So, the most important thing is, use Kafka(also with zookeeper) on k8s, good or not in this use case?</p>