RabbitMQ是由LShift提供的一个Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的Erlang写成,因此也是继承了这些优点。
AMQP里主要要说两个组件:Exchange和Queue(在AMQP 1.0里还会有变动),如下图所示,绿色的X就是Exchange,红色的是Queue,这两者都在Server端,又称作Broker,这部分是RabbitMQ实现的,而蓝色的则是客户端,通常有Producer和Consumer两种类型。