title: How to I implement whatsapp type messenger using MQTT?
body: <p>I want to implement a messenger just like whatsapp using MQTT protocol.
  What tutorials should I read ?</p>
  
  <p>I am confused about few things: </p>
  
  <ol>
  <li>How should I implement topic structure for messaging ? (Currently I am using /domainname/phonenumber/ (If phone A whats to send message to phone B, it will publish a message to /domainname/B/)</li>
  <li>If client B goes offline and comes online after some time, how will it receive message sent to him (to topic /domainname/B/) while client was offline ?</li>
  <li>How do I implement sent/delivered/read acknowledgement ?</li>
  </ol>
  
  <p>I understand that these are very basic questions, but unfortunately I could not find any resources which guides though initial steps.</p>
  
  <p><strong>Conclusion:</strong><br>
  <em>After talking to people who have already implemented large scale messenger deployment in MQTT, I concluded that MQTT should just be used an protocol. Pub/Sub is good for beginning but you should have a layer of your own business logic for flexibility and performance. You can however implement most of the basic messenger requirement using pub/sub tree, but you will be limited to it and it will become difficult to extend later.</em></p>