Your SlideShare is downloading. ×
June 2014 - Building Rabbit MQ based chat on Android
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

June 2014 - Building Rabbit MQ based chat on Android

1,233
views

Published on

Prasun from barter.li talking about how they implemented RabbitMQ chat in their app

Prasun from barter.li talking about how they implemented RabbitMQ chat in their app

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,233
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Building RabbitMQ based Chat on barter.li Android App
  • 2. Why RabbitMQ for Chat ● Fast, reliable, guaranteed & scalable chat ● Mobile, Web compatibility ● Messages, pics, audio, video transfer etc. ● No dependence on Google services
  • 3. RabbitMQ ● Uses AMPQ protocol ● Built with Erlang Founded by Rabbit Technologies in year 2007
  • 4. Why AMPQ ● IBM MQSeries ● Microsoft Message Queue ● Java Message Service
  • 5. Other Vendors ● Apache qpid ● Apache apollo ● Windows Azure Service Bus
  • 6. AMPQ ● Started by JPMorgan Chase with iMatix Corporation and evolved to develop an open standard ● Allows different MQ vendors communicate with each other
  • 7. Why Erlang? ● Developed by Ericsson ● Good at distributed computing ● Used by Facebook, What’s App ● Open Telecom Platform
  • 8. Important Things ● Queues ● Exchanges ● Bindings
  • 9. Exchanges ● Topic ● Fanout ● Direct ● Headers
  • 10. Android and Rabbitmq ● The java client library is not mobile optimized ● Unreliable tcp (Transmission Control Protocol) connection ● Heavy weight
  • 11. Issues Faced ● Need to handle frequent tcp connection failure ● Different device login and round robin issues ● Maybe not meant for chat
  • 12. Solution ● Heartbeat for tcp issues ● Unique queue names for different devices with same id. ● Fanout messaging
  • 13. Alternatives ● MQTT: Message Queuing Telemetry Transport ● Faye: Simple pub/sub messaging
  • 14. References ● https://groups.google.com/forum/#!forum/ruby-amqp ● http://www.linkedin.com/groups/RabbitMQ-2830653 ● https://github.com/intrepidkarthi/RabbitMQ-Android-Chat ● http://rubyamqp.info/ ● rabbitmq.1065348.n5.nabble.com/previous-connection-is-NOT-automatically- closed-if-IP-different-td31096.html
  • 15. Android 673 Commits 5 contributors Design 100 commits 7 contributors ROR 252 commits 1 contributor Marketing 5-6 Contributors
  • 16. Love books? Tomorrow @ 11 am