章节目录
介绍
RabbitMQ是一个消息代理服务器:它接受并转发消息。你可以把它想象成一个邮局:当你把想寄出的邮件放在一个邮箱里时,你可以确定的是,邮差最终会把邮件寄给你的收件人。在这个类比中,RabbitMQ是一个邮箱、一个邮局以及一个邮差。
RabbitMQ和邮局之间的主要区别在于它不处理纸张,而是接收、存储和转发二进制数据块 ‒ 消息 。
RabbitMQ和消息传递会使用一些术语,下面做个简单介绍。
-
Producing 意味着只进行发送操作. 发送消息的程序是 producer (生产者) :
-
queue (队列)是位于RabbitMQ里的 “邮箱” 的称呼。尽管消息流经RabbitMQ和应用程序,但它们只能存储在 queue 中。queue 仅受主机内存和磁盘大小的约束,它本质上是一个大的消息缓冲区。多个 producer 可以向同一个队列发送消息,并且多个 consumer 也可以从同一个 queue 接收数据。下图表示一个队列:
-
Consuming 与接收具有类似的含义。 consumer(消费者) 是一个等待接收消息的程序:
注意:生产者、消费者和代理服务器不必安装在同一台 host 主机上。一个应用程序可以同时是生产者和消费者。