Digital Identity is Under Attack: FIDO Paris Seminar.pptx
WTF Is Messaging And Why You Should Use It?
1. WTF Is Messaging And
Why You Should Use It?
@botanicus
RabbitMQ team of
VMware
Sunday, 12 June 2011
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. About Me
Ruby & JS contractor
RabbitMQ team of VMware
London, UK
http://twitter.com/botanicus
http://blog.101ideas.cz
Sunday, 12 June 2011
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
6. How Can You
Benefit?
Better design of apps.
Scalability.
Robustness.
Sunday, 12 June 2011
7. #1 Better Design,
Easier Maintainance
Decoupling -> small, isolated apps.
Greatly reduces complexity.
Isolation -> it's easy to rewrite just the
critical parts into Java or C.
Simple integration with legacy systems, no
need to rewrite everything.
It's dead-easy to inspect what's going through.
Sunday, 12 June 2011
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
12. #3 Robustness
Backend deployment with no
downtime (see the schema).
Message persistency.
Acknowledgements (I've done it,
send me the next task).
Sunday, 12 June 2011
13. What if the service would go offline?
Sunday, 12 June 2011
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
17. Other Use-Cases
From a browser utilising websockets
(games development etc).
Remote procedure call.
Sunday, 12 June 2011
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
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. ZeroMQ
Brokerless, provides socket-like API.
Supports advanced routing.
Leads to decentralised architecture.
Sunday, 12 June 2011