RabbitMQ的工作原理与其中相关概念介绍

消息传递使软件应用程序能够互连和扩展。应用可以彼此连接,作为较大应用的组件,或连接到用户设备和数据。 消息本身是异步的,因此它通过分离发送和接收数据来分离解耦应用程序。RabbitMQ 则是实现了 AMQP 消息队列协议的技术架构, 它可以提供可靠的消息传输, 灵活的消息路由, 集群, 高可用的消息队列等特性 ;

消息中间件, 可以削峰填谷, 异步解耦, 企业级应用中异步解耦是必须的; 这里是常见的几种消息中间件性能特性比较 评测


RabbitMQ中的一些概念

  1. Exchange: 消息在服务器上转发时的路由器对象, 由此对象结合消息发布方式与Routing, 从而把消息分配到指定的队列中去;
  2. Routing-Key: 消息在被路由时通过Routing key 来进行分发;
  3. Queue: 消息队列, 存放有序的待消费者(Customer)消费的消息对象;
  4. Producer: 消息生产者对象, 产生消息并发布到指定Exchange;
  5. Customer: 消费消息的消费端对象, 绑定指定的Queue从而消费该队列中的消息;

消息发布与订阅方式

  1. fanout: 广播模式, 此时会忽略Routing-key 的作用, 消息会分发到所有与指定Exchange绑定的Queue队列中去;
  2. direct: 订阅模式, 此模式下, Queue需要绑定指定的Exchange, 同时当message的分发Routing-key与Queue的Routing-key一致时, Exchange才会把消息分发到对应的Queue中去;
  3. topic: 主题模式, 在direct的工作模式之上, Routing-key采用了模糊匹配的方式;

猜你喜欢

转载自blog.csdn.net/hinstenyhisoka/article/details/52774742