Saturday, September 14, 2013

RabbitMQ


RabbitMQ



RabbitMQ is a message broker. In essence, it accepts messages from producers, and delivers them to consumers. In-between, it can route, buffer, and persist the messages according to rules you give it.

The RabbitMQ server is an implementation of an Advanced Message Queuing Protocol (AMQP) broker. It is written on the widely-used Erlang/Open Telecom Platform (OTP), an "always available‟ platform that has been in production use in carrier grade telcos since the late 1990s. The core server is unusually compact, with only 12,000 lines of code. Because RabbitMQ implements the open AMQP protocol, it is not necessary to know Erlang, and many users prefer to manage the broker using Java or Ruby.

RabbitMQ, and messaging in general, uses these terms:


  • Producing: means nothing more than sending
  • Producer "P": A program that sends messages
  • Queue: is the mailbox that lives inside RabbitMQ. The messages that flow through RabbitMQ and your applications can be stored only inside a queue. A queue is an infinite buffer where you can store as many messages as you like

Many producers can send messages that go to one queue - many consumers can try to receive data from one queue.

  • Consuming: is receiving messages
  • Consumer "C": is a program that mostly waits to receive messages

Producer, consumer, and broker do not have to reside on the same machine; indeed in most applications they don't.




AMQ


The Advanced Message Queuing Protocol (AMQP) is an open standard for passing business messages between applications or organizations.  It connects systems, feeds business processes with the information they need and reliably transmits onward the instructions that achieve their goals.

The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe). AMQP mandates the behaviour of the messaging provider and client to the extent that implementations from different vendors are truly interoperable, in the same way as SMTP, HTTP, FTP, etc. have created interoperable systems. Consequently any tool that can create and interpret messages that conform to this data format can interoperate with any other compliant tool irrespective of implementation language

AMQP is designed to efficiently support a wide variety of messaging applications and communication patterns. It provides flow controlled, authentication and/or encryption based on SASL and/or TLS, message-oriented communication with message-delivery guarantees such as:

  • at-most-once (where each message is delivered once or never)
  • at-least-once (where each message is certain to be delivered, but may do so multiple times)
  • exactly-once (where the message will always certainly arrive and do so only once)

15 comments:

  1. Expected to form you a next to no word to thank you once more with respect to the decent recommendations you've contributed here.
    Dotnet Training in Marathahalli

    ReplyDelete
  2. It has been simply incredibly generous with you to provide openly what exactly many individuals would’ve marketed for an eBook to end up making some cash for their end, primarily given that you could have tried it in the event you wanted.

    Data Science Training in Bangalore

    ReplyDelete
  3. good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
    rprogramming training in chennai

    ReplyDelete
  4. I’m enjoying the information. I’m bookmarking and will be tweeting this to my followers! Wonderful blog and amazing design and style.
    safety course in chennai

    ReplyDelete
  5. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.
    R Training Institute in Chennai | R Programming Training in Chennai

    ReplyDelete
  6. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.
    click here

    ReplyDelete
  7. As far as degrees and formal education go, it's all good to have a PhD but not an absolute requirement. So start your data science training today and benefit with your newfound research capabilities as it becomes a secondary task at the back of the head. data science course in india

    ReplyDelete
  8. I am reading your post from the beginning, it was so interesting to read & I feel thanks to you for posting such a good blog, keep updates regularly.I want to share about data science courses in malaysia

    ReplyDelete
  9. Hi Thanks for Sharing this Valuable Information with us: this is very useful for me. Keep it Up.
    ai course in aurangabad

    ReplyDelete
  10. I really enjoyed reading this post, big fan. Keep up the good work and please tell me when can you publish more articles or where can I read more on the subject?
    data science institutes in hyderabad

    ReplyDelete
  11. This post is very simple to read and appreciate without leaving any details out. Great work!
    data scientist course in malaysia


    ReplyDelete