WTF Is Messaging And Why You Should Use It?

22,558 views
23,050 views

Published on

Published in: Technology
1 Comment
22 Likes
Statistics
Notes
  • Saying that messaging protocols (either AMQP or in general) are async is simply wrong. Even JMS supports request-reply patterns. But nice slides and work indeed. Appreciated. Anyway - no update on github for over an year now? What happened? ;-)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
22,558
On SlideShare
0
From Embeds
0
Number of Embeds
14,791
Actions
Shares
0
Downloads
125
Comments
1
Likes
22
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • Sockets can be more advanced than just simple unix sockets, for example ZeroMQ sockets.\n\nThe following slide is the pull vs. push comic.\n
  • \n
  • \n
  • The following slide is the tracer screenshot.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • WTF Is Messaging And Why You Should Use It?

    1. 1. WTF Is Messaging And Why You Should Use It? @botanicus RabbitMQ team of VMwareSunday, 12 June 2011
    2. 2. I slept only 3 hours, Club-mate is the only thing which keeps me goin’ ... but I’ll do my best :) Club-mate FTW!Sunday, 12 June 2011
    3. 3. About Me Ruby & JS contractor RabbitMQ team of VMware London, UK http://twitter.com/botanicus http://blog.101ideas.czSunday, 12 June 2011
    4. 4. What Is Messaging? Sending messages between isolated entities (usually apps, but can be also threads, as in Erlang). Usually through a messaging broker. Asynchronous, suitable for distributed systems. Push, not pull.Sunday, 12 June 2011
    5. 5. From http://www.j5live.comSunday, 12 June 2011
    6. 6. How Can You Benefit? Better design of apps. Scalability. Robustness.Sunday, 12 June 2011
    7. 7. #1 Better Design, Easier Maintainance Decoupling -> small, isolated apps. Greatly reduces complexity. Isolation -> its easy to rewrite just the critical parts into Java or C. Simple integration with legacy systems, no need to rewrite everything. Its dead-easy to inspect whats going through.Sunday, 12 June 2011
    8. 8. Sunday, 12 June 2011
    9. 9. #2 Scalability Improve responsiveness by doing CPU-intensive tasks later in an asynchronous manner. Scale only the parts which requires it.Sunday, 12 June 2011
    10. 10. Sunday, 12 June 2011
    11. 11. Sunday, 12 June 2011
    12. 12. #3 Robustness Backend deployment with no downtime (see the schema). Message persistency. Acknowledgements (Ive done it, send me the next task).Sunday, 12 June 2011
    13. 13. What if the service would go offline?Sunday, 12 June 2011
    14. 14. Sunday, 12 June 2011
    15. 15. Pub/Sub Publishers do not send messages to specific subscribers. Published messages are characterised into classes, without knowledge of the subscribers. Subscribers express interest in some classes, and only receive messages they want.Sunday, 12 June 2011
    16. 16. Sunday, 12 June 2011
    17. 17. Other Use-Cases From a browser utilising websockets (games development etc). Remote procedure call.Sunday, 12 June 2011
    18. 18. #1 AMQP in BBC Realtime Tweets Processing. As middlewares (download, process, store to S3). 1000 tweets/sec = about 90 million a day.Sunday, 12 June 2011
    19. 19. Protocols & APIs AMQP STOMP: HTTP-like protocol, headers & body, request/response JMS Amazon Simple Queue Service XMPP (well, kind of) WebsocketsSunday, 12 June 2011
    20. 20. AMQP Invented by JP Morgan. Most widely used. Binary protocol with minimal overhead. http://www.rabbitmq.com/getstarted.htmlSunday, 12 June 2011
    21. 21. Sunday, 12 June 2011
    22. 22. RabbitMQ AMQP natively, STOMP, XMPP by plugins. Most widely used OSS AMQP broker. A lot of plugins available, writing new ones is quite easy (Erlang).Sunday, 12 June 2011
    23. 23. ZeroMQ Brokerless, provides socket-like API. Supports advanced routing. Leads to decentralised architecture.Sunday, 12 June 2011
    24. 24. Sunday, 12 June 2011
    25. 25. Questions please!Sunday, 12 June 2011
    26. 26. Cheers for your attention!Sunday, 12 June 2011

    ×