Writing Plugins With RabbitMQ

By Erlang Central | Published: March 21, 2011

AMQP is a powerful way to enable cross language and process messaging.  In the AMQP architecture publisher clients send asynchronous messages to Brokers, using the AMQP protocol.  The Broker temporarily, but reliably, stores and persists the message.  In the meantime, a polling subscriber client uses AMQP to connect to the Broker and retrieve the message.  Subscribers can also establish sessions in order to get notified immediately when messages arrive.  RabbitMQ implements an AMQP Broker.  But now that RabbitMQ includes plugins, it can be more than just a broker.  This talk will show how to build a proper plugin and why this is so useful.

As an added twist, we have implemented a naive Bayesian classifier as part of our RSS plugin.  Thanks to Erlang’s rich functional programming model, this has made process of data mining an RSS feed, a very approachable, and scalable, solution.

RabbitMQ is widely used at AT&T interactive.  In this talk Noah will
demonstrate the basics of writing a plugin for RabbitMQ.

Target audience
There are two primary target audiences.  The first target audience is a developer who is new to the Erlang language, but is interested in learning about the Ecosystem and getting more involved with the language and products created in Erlang, like RabbitMQ or CouchDB. The second target audience is someone who is primarily interested in RabbitMQ, and AMQP messaging.

Talk Objectives
Inform the audience about RabbitMQ, and how to write plugins in Erlang for RabbitMQ.

Download Presentation Download


  • Michael Vierling

    Senior Software Engineer at AT&T Interactive
    AT&T Interactive

    Michael Vierling is an experienced software engineer and expert in distributed and high availability systems. He's designed code primarily in C++, but is now enjoying the renaissance in computer languages including F#, Erlang, Haskell and Python.

    Currently at AT&T Interactive, he has worked at a variety of Bay Area startups and larger companies including Apple, Lucent and Ascend.

    He has a BS in Physics from U.C. San Diego.

    Michael Vierling
  • Noah Gift

    Co-author of "Python For Unix and Linux System Administration"
    AT&T Interactive

    Noah is an experienced technical leader and software developer. He solves interesting problems in a variety of languages including Python/Iron Python, Erlang, F#, C#, and Javascript, and is a member of the Python Software Foundation.

    He is the Associate Director of Engineering at AT&T Interactive, and has worked at a variety of companies around the United States and the rest of the World, including: Caltech, Disney Feature Animation, Sony Imageworks, and Weta Digital.
    He is the co-author of "Python For Unix and Linux System Administration", and numerous technical articles for IBM Developerworks, O'Reilly, Red Hat Magazine, and Mac Tech. In his free time, he composes piano music, and runs marathons and ultramarathons. Links to much of his writing can be found at his personal site. He has a BS in Nutritional Science from Cal Poly San Luis Obispo, a MS in Computer Information Systems from CSULA, and is an MBA Candidate at UC Davis, specializing in Business Analytics, Finance, and Entrepreneurship.

    Noah's Website

    Twitter: @noahgift

    Noah Gift

Follow Erlang Central:

Have an Erlang Question?

Reach out to the Erlang community