Your SlideShare is downloading. ×
0
INTRODUCTION TO
WHAT IS RABBITMQ
 RabbitMQ is a messaging broker
 an intermediary for messaging
 Gives your applications a common platf...
NEED OF MESSAGING
 Messaging enables software applications to
connect and scale
 Different Component of application can
...
RABBITMQ UNIVERSE
7/12/2013
4
RabbitMQ–Messagingthatjustworks…
AMQP(ADVANCED MESSAGE QUEUING
PROTOCOL)
 networking protocol that enables conforming client
applications to communicate w...
AMQP COMPONENTS
 Broker
 Channel
 Exchanges
 Queues
 Bindings
 Messages
7/12/2013
6
RabbitMQ–Messagingthatjustworks…
EXCHANGE
Model.QueueBind(queueName, ExchangeName, queueName+"Key", null)
Model.BasicPublish(ExchangeName, keyName, true, f...
QUEUES
 Name
 Durable (the queue will survive a broker restart)
 Exclusive (used by only one connection and the
queue w...
MESSAGES
 Can be persistent
 Can have a priority level
 Message – body +headers
 Broker never modifies content of mess...
CONNECTIONS
 AMQP connections are typically long-lived
 TCP Connection
7/12/2013
10
RabbitMQ–Messagingthatjustworks…
Cha...
ACKNOWLEDGEMENT
7/12/2013
11
RabbitMQ–Messagingthatjustworks…
PUBLISHER CONFIRMATION
 Transaction mode –take more than 4 messages to
publish 10000 messages
 Required fsync() both sid...
CONSUMER SETTINGS –PREFETCH COUNT
7/12/2013
13
RabbitMQ–Messagingthatjustworks…
CLUSTERING
 Clustering connects multiple machines together to
form a single logical broker
 Communication is via Erlang ...
RAM/DISK NODES
 forget_cluster_node
7/12/2013
15
RabbitMQ–Messagingthatjustworks…
MIRRORING QUEUES/HIGH AVAILIBILITY
 Thus clients consuming from a mirrored queue are
in fact consuming from the master.
...
OTHER FEATURES OF RABBITMQ
 Federation
 Shovel
 Tracing
 Management ui etc
7/12/2013
17
RabbitMQ–Messagingthatjustwork...
RABBITMQ USERS
 Barclays Bank PLC
 Cisco Systems, Inc.
 Credit Suisse
 Deutsche Börse Systems
 Envoy Technologies Inc...
7/12/2013
19
RabbitMQ–Messagingthatjustworks…
Upcoming SlideShare
Loading in...5
×

Rq

629

Published on

RabbitMq , AMQP Model basics

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

  • Be the first to like this

No Downloads
Views
Total Views
629
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Rq"

  1. 1. INTRODUCTION TO
  2. 2. WHAT IS RABBITMQ  RabbitMQ is a messaging broker  an intermediary for messaging  Gives your applications a common platform to send and receive messages  a safe place to live until received. 7/12/2013 2 RabbitMQ–Messagingthatjustworks…
  3. 3. NEED OF MESSAGING  Messaging enables software applications to connect and scale  Different Component of application can connect to each other  Messaging is Asynchronous  Decoupling of applications  Queuing for delivery  Scalability  Monitor data feeds 7/12/2013 3 RabbitMQ–Messagingthatjustworks…
  4. 4. RABBITMQ UNIVERSE 7/12/2013 4 RabbitMQ–Messagingthatjustworks…
  5. 5. AMQP(ADVANCED MESSAGE QUEUING PROTOCOL)  networking protocol that enables conforming client applications to communicate with conforming messaging middleware brokers.  AMQP is a Programmable Protocol 7/12/2013 5 RabbitMQ–Messagingthatjustworks…
  6. 6. AMQP COMPONENTS  Broker  Channel  Exchanges  Queues  Bindings  Messages 7/12/2013 6 RabbitMQ–Messagingthatjustworks…
  7. 7. EXCHANGE Model.QueueBind(queueName, ExchangeName, queueName+"Key", null) Model.BasicPublish(ExchangeName, keyName, true, false, basicProperties, message);  Default Exchange  Fanout Exchange  Direct Excahnge  Topic Exchange  quick.orange.rabbit  quick.orange.fox  lazy.brown.fox  quick.brown.fox 7/12/2013 7 RabbitMQ–Messagingthatjustworks…
  8. 8. QUEUES  Name  Durable (the queue will survive a broker restart)  Exclusive (used by only one connection and the queue will be deleted when that connection closes)  Auto-delete (queue is deleted when last consumer unsubscribes)  Arguments (some brokers use it to implement additional features like message TTL) 7/12/2013 8 RabbitMQ–Messagingthatjustworks…
  9. 9. MESSAGES  Can be persistent  Can have a priority level  Message – body +headers  Broker never modifies content of message 7/12/2013 9 RabbitMQ–Messagingthatjustworks…
  10. 10. CONNECTIONS  AMQP connections are typically long-lived  TCP Connection 7/12/2013 10 RabbitMQ–Messagingthatjustworks… Channels • Connections are multiplexed • lightweight connections that share a single TCP connection • Communication on a particular channel is completely separate from communication on another channel
  11. 11. ACKNOWLEDGEMENT 7/12/2013 11 RabbitMQ–Messagingthatjustworks…
  12. 12. PUBLISHER CONFIRMATION  Transaction mode –take more than 4 messages to publish 10000 messages  Required fsync() both sides  Publisher Confirmation mode: 100 times faster than transaction – asynchronous  Messages published are put in a set they are queued only when they receive ack 7/12/2013 12 RabbitMQ–Messagingthatjustworks…
  13. 13. CONSUMER SETTINGS –PREFETCH COUNT 7/12/2013 13 RabbitMQ–Messagingthatjustworks…
  14. 14. CLUSTERING  Clustering connects multiple machines together to form a single logical broker  Communication is via Erlang message-passing, so all nodes in the cluster must have the same Erlang cookie  and all machines in the cluster must run the same versions of RabbitMQ and Erlang.  Virtual hosts, exchanges, users, and permissions are automatically mirrored across all nodes in a cluster.  A client connecting to any node in a cluster can see all queues in the cluster, even if they are not located on that node. 7/12/2013 14 RabbitMQ–Messagingthatjustworks…
  15. 15. RAM/DISK NODES  forget_cluster_node 7/12/2013 15 RabbitMQ–Messagingthatjustworks…
  16. 16. MIRRORING QUEUES/HIGH AVAILIBILITY  Thus clients consuming from a mirrored queue are in fact consuming from the master.  Publish happens on all queues  No concept of master/slave for publishing activity  In case of failure – message loss from master in case of unsynchronysation  Redelivery of messages in case of master failure 7/12/2013 16 RabbitMQ–Messagingthatjustworks…
  17. 17. OTHER FEATURES OF RABBITMQ  Federation  Shovel  Tracing  Management ui etc 7/12/2013 17 RabbitMQ–Messagingthatjustworks…
  18. 18. RABBITMQ USERS  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. 7/12/2013 18 RabbitMQ–Messagingthatjustworks… • Microsoft Corporation • Novell • Rabbit Technologies, a joint venture of CohesiveFT and LShift • Red Hat, Inc. • Solace Systems, Inc. • Tervela, Inc. • TWST Process Innovations • WSO2, Inc. • 29West Inc.
  19. 19. 7/12/2013 19 RabbitMQ–Messagingthatjustworks…
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×