RabbitMQ之基本概念

AMQP

AMQP,即Advanced Message Queuing Protocol,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。目标是实现一种在全行业广泛使用的标准消息中间件技术,以便降低企业和系统集成的开销,并且向大众提供工业级的集成服务。主要实现有 RabbitMQ。

基本概念

  • 生产者

消息的创建者,负责将消息发送到RabbitMQ。

  • 消费者

消息者需要连接到RabbitMQ,并且订阅到队列上,进行消息的接收。包括持续订阅(basicConsumer)和单条订阅(basicGet).

  • 消息

消息包含两部分内容有效负荷(payload)和标签(label)。有效负荷就是传输的数据,标签就是路由键。

  • 信道

信道是建立在TCP连接上的一个虚拟连接,虚拟连接相当于在多线程环境下,每个线程都共享一个TCP连接,一个线程对应着一个信道。

在RabbitMQ中,每个信道都有自己唯一的ID,保证了信道的私有性。

为什么不建立多个TCP连接呢?

原因是RabbitMQ为了保证性能。如果为每个线程创建一个TCP连接,每秒成百上千的连接建立和销毁会严重消耗系统的性能。所以RabbitMQ选择建立多个信道,而不是建立多个TCP连接。

  • 交换器、队列、绑定、路由键

队列通过路由键(routing  key,某种确定的规则)绑定到交换器,生产者将消息发布到交换器,交换器根据绑定的路由键将消息路由到特定队列,然后由订阅这个队列的消费者进行接收。

扫描二维码关注公众号,回复: 4422544 查看本文章

猜你喜欢

转载自blog.csdn.net/wyfvsfy/article/details/84889706