rabbitmq

38
RabbitMQ

Upload: lenz-gschwendtner

Post on 13-May-2015

9.068 views

Category:

Technology


0 download

DESCRIPTION

slides to a talk about RabbitMQ I gave at erlounge wellington in july 2009.

TRANSCRIPT

Page 1: RabbitMQ

RabbitMQ

Page 2: RabbitMQ
Page 3: RabbitMQ

AMQPAdvanced Message Queuing Protocol

Page 4: RabbitMQ

Why?

• open industry standard

• not language dependent

• open and commercial implementations on both ends

• some big players on board

Page 5: RabbitMQ

• Barclays Bank PLC • Cisco Systems, Inc. • Credit Suisse • Deutsche Börse Systems • Envoy Technologies Inc. • Goldman Sachs • iMatix Corporation • IONA Technologies • JPMorgan Chase Bank & Co. • Microsoft Corporation • Novell • Rabbit Technologies, a joint venture of CohesiveFT and LShift • Red Hat, Inc. • Solace Systems, Inc. • Tervela, Inc. • TWIST Process Innovations • WSO2, Inc. • 29West Inc.

Page 6: RabbitMQ

so, what is messaging?

Page 7: RabbitMQ

traditional FIFO

Page 8: RabbitMQ

Queue

push pull

Page 9: RabbitMQ

messaging

Page 10: RabbitMQ

Queue

push push

Page 11: RabbitMQ

why is it better?

• lower latency as messages are pushed

• less load “just sit and wait”

• way advanced stuff if you look at AMQP

Page 12: RabbitMQ

which is?

• user auth

• loadbalancing

• persistent vs non persistent messages

• advanced message routing

Page 13: RabbitMQ

RabbitMQ

Page 14: RabbitMQ

RabbitMQ

Exchange

QueueQueue

Page 15: RabbitMQ

pretty standard messaging

Page 16: RabbitMQ
Page 17: RabbitMQ

now starts the fun stuff

Page 18: RabbitMQ

RabbitMQ

Queue

RabbitMQ

Page 19: RabbitMQ

RabbitMQ

Queue

Page 20: RabbitMQ

AMQP

RabbitMQ

XMPP STOMP HTTP

XMPP STOMP HTTPAMQP

Page 21: RabbitMQ

AMQP

RabbitMQ

XMPP STOMP HTTP

XMPP STOMP HTTPAMQP

AMQP

RabbitMQ

XMPP STOMP HTTP

XMPP STOMP HTTPAMQP

Page 22: RabbitMQ

and that is only queue handling ...

Page 23: RabbitMQ
Page 24: RabbitMQ

queues

• can be persistent

• can be deleted when empty

• can be deleted when server stops

Page 25: RabbitMQ

messages

• can be persistent

• can be in memory only

• might be persisted if not enough memory

Page 26: RabbitMQ

client libs?

Page 27: RabbitMQ
Page 28: RabbitMQ

what was it built for?

Page 29: RabbitMQ

• financial systems

• many messages

• fast message transport

• reliable message transport

Page 30: RabbitMQ

what is it written in?

Page 31: RabbitMQ
Page 32: RabbitMQ

obviously ...

Page 33: RabbitMQ

how to get started?

Page 34: RabbitMQ

• http://rabbitmq.com (get rabbit here)

• http://github.com/norbu09/RabbitIntro (for some small code samples)

• ask: rabbitmq mailing list

Page 36: RabbitMQ

thanks

Page 37: RabbitMQ

• the RabbitMQ guys for an awesome product

• iWantMyName for letting me play with all that stuff

• many guys on the mailing list for helping me out when i got stuck

• catalyst IT for the venue

credits