AMQP Erlang user group talk #
Last Wednesday at the Erlang user group Berlin Matthias Radestock from the RabbitMQ project gave a talk on RabbitMQ, AMQP and messaging in general. Slides are
available online.
First
Matthias motivated the need for an open standard for messaging: So far, their are a few provides of middleware systems
like Tibco and IBM. But those solutions are usually closed, expensive, cumbersome to handle. In short they do not fit
into a world where people rely on open standards for communication, free software for development and lightweight
implementations.
AMQP aims to povide an open standard for messaging - that is decoupled communication between
processes that may reside on separate boxes or in different datacenters. There are a few providers of AMQP
implementations. Some examples are iMatix focussed on low latency communication, Apache Qpid and the corresponding
project inside of RedHat and RabbitMQ.
RabbitMQ is implemented in Erlang (after all, the talk was hosted by the
Erlang User Group Berlin ;) ). With about 7000 lines of code the code base is rather compact. The goal was not to built
a super-fast implementation, but one that is scalable and highly available.
So far there is no facility for
building reliable cross datacenter communication built into RabbitMQ. Yet, there are several projects available that
aim at providing just that.