当前位置:   article > 正文

最流行的开源消息队列系统——RabbitMQ(基础概念讲解)

开源消息队列

RabbitMQ是最流行的开源消息队列系统,实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。

RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。采用该技术,我们可以实现异步处理、流量削峰、系统解耦;

RabbitMQ概念与机制

RabbitMQ中的概念模型:

  • Broker:消息中间件实例,可能是单个节点也可能是运行在多节点集群上的逻辑实体
  • 消息(Message):消息由消息头和消息体两部分组成。消息头中包括routing-key、priority等标准消息头以及其它自定义消息头,用于定义RabbitMQ对消息行为。消息体是字节流,包含消息内容。
  • 连接(Connection):客户端与Broker之间的TCP连接
  • 信道(Channel):Channel是建立在TCP连接上的逻辑(虚拟)连接。多个Channel复用同一个TCP连接,以避免建立TCP连接的巨大开销。RabbitMQ官方要求每个线程使用独立的Channel,禁止多个线程共用Channel。
  • 生产者(Publisher):发送消息的客户端线程
  • 消费者(Consumer):处理消息的客户端线程
  • 交换机(Exchange):交换机负责将消息投递到相应的队列
  • 队列(Queue):接收并保存交换机投递的消息,直至被消费者成功消费。逻辑结构遵循先进先出FIFO。
  • 绑定(Binding):将队列(Queue)注册到交换机(Exchange)的路由表
  • 虚拟主机(Vhost):每个Broker下可建立多个vhost,每个vhost可建立独立的Exchange、Queue、绑定及权限系统。同一个Broker下的vhost共享Connection、Channel和用户系统,就是说可以使
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/908186
推荐阅读
相关标签
  

闽ICP备14008679号