XMPP & AMQP

7,212 views

Published on

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,212
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
0
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

XMPP & AMQP

  1. 1. XMPP and AMQP
  2. 2. • Python or Erlang • Network Server Developer ... ? • Accense Technology, Inc. • Google API Expert (Google App Engine) • twitter/wassr id:voluntas
  3. 3. • XMPP AMQP • • BPStudy • • AWS
  4. 4. Polling sucks! @ http://d.hatena.ne.jp/tasukuchan/20090509/notify_events_to_many_clients
  5. 5. XMPP eXtensible Messaging and Presence Protocol http://xmpp.org/ AMQP Advanced Message Queuing Protocol http://www.amqp.org/
  6. 6. ejabberd the Erlang Jabber/XMPP daemon http://www.ejabberd.im/ Rabbit MQ Open Source Enterprise Messaging http://www.rabbitmq.com/
  7. 7. Erlang
  8. 8. Erlang ? • • • 1987 • • • Open Telecom Platform (OTP)
  9. 9. ... • Facebook Online Chat • AWS SimpleDB • Apache CouchDB • DB Kai / scalaris • id:higepon http://d.hatena.ne.jp/higepon/ 20090509/1241863278
  10. 10. ... / Erlang http://teahut.sakura.ne.jp/b/2009-04-04-1.html (2009 3 ) Erlang
  11. 11. XMPP • XML • RFC • Jabber -> XMPP • Google Talk • Mail • TCP
  12. 12. XML • http://www.ietf.org/rfc/rfc3920.txt • • XML <stream> <message> <body/> </message> </stream>
  13. 13. XMPP Server • • • Message Client Client
  14. 14. XMPP Server XMPP Server XMPP Server • • • Message Client Client
  15. 15. • XMPP Server • XMPP Server ID IP • XML • XMPP • DNS
  16. 16. • SSL/TLS • DNS • SASL
  17. 17. SASL? • RFC 2222 • • ... ? • orz
  18. 18. XMPP • Google • • • • OpenFire
  19. 19. ejabberd • Erlang XMPP • • Google Talk Group Chat • Erlang
  20. 20. Ejabberd “cloud Edtion alpha” http://www.planeterlang.org/en/planet/article/ejabberd_cloud_edition_alpha/
  21. 21. Cloud Edition? • • • AWS SDB S3 • SQS ...
  22. 22. AWS •Elastic Load Balancing • Auto Scaling • Amazon CloudWatch
  23. 23. AWS Import/Export • HDD Amazon • Amazon HDD S3 • S3 HDD
  24. 24. • http://www.slideshare.net/maraby/xmpp- amqp-in-ruby • http://xmpp.org/ • http://dev.ariel-networks.com/modules/ xfsection/article.php?articleid=17 • http://oreilly.com/catalog/9780596521264/
  25. 25. AMQP • Advanced Message Queue Protocol • MQ • • • • 1.0 ...
  26. 26. AMQP? • • PubSub (Publish-Subscribe) • • TCP • •
  27. 27. Direct Routing Key AQMP Server Subscriber Exchange Queue Publisher Spam Queue Subscriber Spam Exchange Publisher Queue Subscriber Spam
  28. 28. Direct Exchange Type • • •
  29. 29. funout AQMP Server Subscriber Exchange Queue Publisher Subscriber Queue Queue Subscriber
  30. 30. Fanout Exchange Type • •
  31. 31. Topic Routing Key AQMP Server Subscriber a.b.c.d Exchange Queue spam.egg Publisher spam.# Queue Subscriber ham.egg Exchange Publisher *.egg Queue Subscriber
  32. 32. Topic Exchange Type • • a.b.c.d •# * • *.b.c.# a.b.c.d a.d.c.b
  33. 33. RabbitMQ • Erlang AMQP • 130 • 3 • AMQP 0.8 • XMPP gateway STOMP gateway
  34. 34. • http://journal.mycom.co.jp/news/ 2006/06/21/343.html • http://jira.amqp.org/confluence/display/ AMQP/Advanced+Message+Queuing +Protocol • http://www.infoq.com/jp/news/2008/08/ amqp-progress
  35. 35. Kay • Google App Engine / Python • http://bitbucket.org/tmatsuo/kay/ • GAE Expert & Apps Guru tmatsuo •

×