三、RABBITMQ的几个基本概念


Producer


实际发布消息的角色,Producer发送消息的时候,首先是发送到Exchange,然后RabbitMQ根据Exchange的类型和逻辑来判断应该发送到那个Queue中,所以Queue必须bind到特定的Exchange上才能获取消息,绑定的时候可以提供一个routing_key来判断选择的什么消息,publisher在发出消息的时候就可以制定不同的routing_key来选择如何分布消息

 
 

Queue


是实际消息存放的角色,消息从Queue一端放入,另一端由Consumer取出,如果多个Consumer,每个Consumer各自取出不同的消息进行处理(许多producer可以发送消息到一个queue-许多consumer可以尝试从一个queue中接收数据)

 

Consumer


是等待接收消息的角色

 

注意


在大多数应用场景中,生产者、消费者以及RabbitMQ服务是不会同时运行在一台机器上的。

 

每个概念的流程


Producer - exchange - binding - queue - consumer

 
时间: 2024-08-04 05:10:26

三、RABBITMQ的几个基本概念的相关文章

RabbitMq基础教程之基本概念

RabbitMq基础教程之基本概念 RabbitMQ是一个消息队列,和Kafka以及阿里的ActiveMQ从属性来讲,干的都是一回事.消息队列的主要目的实现消息的生产者和消费者之间的解耦,支持多应用之间的异步协调工作 由于工作原因,接触和使用rabbitmq作为生产环境下的消息队列,因此准备写一些博文,记录下这个过程中的收货:而开篇除了环境搭建之外,就是对于其内部的基本概念进行熟悉和了解了. 基础环境搭建可以参考: <RabbitMq基础教程之安装与测试> 本文则主要集中在以下几点: 几个基本

Java深度历险(三)——Java线程?:基本概念、可见性与同步

开发高性能并发应用不是一件容易的事情.这类应用的例子包括高性能Web服务器.游戏服务器和搜索引擎爬虫等.这样的应用可能需要同时处理成千上万个请求.对于这样的应用,一般采用多线程或事件驱动的架构.对于Java来说,在语言内部提供了线程的支持.但是Java的多线程应用开发会遇到很多问题.首先是很难编写正确,其次是很难测试是否正确,最后是出现问题时很难调试.一个多线程应用可能运行了好几天都没问题,然后突然就出现了问题,之后却又无法再次重现出来.如果在正确性之外,还需要考虑应用的吞吐量和性能优化的话,就

《UML精粹》第三章 -类图的基本概念

第三章 类图:基本概念 类图可用来描述系统中各种对象的类型,也可描绘出对象间各种各样的静态关系.此外,类图中也可以秀出类的性质(property)与操作(operation),以及可应用到对象间连接方式的一些限制(constraint).在UML中,我们用特性(feature)来代表累的性质与操作这两种概念. 1.性质 性质代表类的结构特性(structural feature).虽然只是一个概念,不过它却可以用两种非常不同的表示法来呈现:属性与关联. 2.属性 属性(attributes)表示

Java-Maven(三):Maven相关的概念:Maven坐标、Maven仓库、Maven声明周期

之前通过学习对maven命令有了部分了解,但是只是知道maven是用来做什么.但到目前位置还不足以全面的了解maven,为更全面的了解maven,需要学习以下几个概念:Maven坐标.Maven仓库.Maven生命周期. Maven坐标 maven坐标概念:每个构件都有自己的一个标识(唯一的),它由groupId,artifactId,version等信息组成,因此maven就可以对构件进行版本控制.管理. 备注: groupId :公司名称或者组织名称: artifactId:项目名称: ve

rabbitmq学习笔记2 基本概念

官网:http://www.rabbitmq.com 参考:http://blog.csdn.net/column/details/rabbitmq.html 1 基本概念 rabbitmq server(broker server):rabbitmq服务 client:包括producers和consumer message:包括payload和label exchange:producer发布message的地方 queue:messages存放和consumer收取message的地方 b

谈论高并发(三)锁的一些基本概念

并发编程概念的一些基本的了解是非常重要的.告诉我们认为表明,在方向上的主要问题. 这个讲锁的一些基本概念. 在正常情况下,我们说的锁都指的是"互斥"锁.因为有一些特殊的锁,例"读写锁",一点都没有互斥. 排斥锁. 锁是处理并发的一种同步手段.单线程程序和并发程序的终于目的都是要保证程序的正确性,可是最大的差别是: 单线程程序的正确性仅仅关注程序的执行结果和目标是一致的 并发程序的正确性除了执行结果正确外,还包括了活性的特性,所谓活性,指的就是程序无死锁,无饥饿 所以

聊聊高并发(三)锁的一些基本概念

理解并发编程的一些基本概念很重要,给我们思考问题指明一个基本的方向.这篇说一说锁的一些基本概念. 在通常情况下我们说的锁都指的是"互斥"锁,因为在还存在一些特殊的锁,比如"读写锁",不完全是互斥的.这篇文章说的锁专指互斥锁. 锁是处理并发的一种同步手段.单线程程序和并发程序的最终目的都是要保证程序的正确性,但是最大的区别是: 单线程程序的正确性只关注程序的运行结果和目标是一致的 并发程序的正确性除了运行结果正确外,还包含了活性的特性,所谓活性,指的就是程序无死锁,无

(三)NS3中的关键概念

(三)NS3的关键概念 8. NS3关键概念: 1)  NODE节点 NODE节点:NS3基本的计算设备被抽象为节点.节点是一台可以添加各种功能的抽象计算机(软硬模块),如节点可以添加应用程序.协议栈.外围卡及其驱动程序(合称网卡). 节点有C++中的Node类描述.Node类提供了用于管理仿真器中网络组件(抽象表示)的各种方法.如:NodeContainer类,用于追踪一组节点指针.通常,Ns3的拓扑助手类一次能在多个节点上工作,如一个设备助手可以在大量相同节点上安装设备. 创建2个节点: N

【程序设计基础】第三章 计算机解决问题的初等概念

计算机解决的问题分类 1.计算型 2.逻辑性 3.混合型 4.反复型(反复执行一组数学计算型和逻辑型指令的问题) 一.常亮与变量 二.数据类型 基本类型:数值型(整型.实型).字符(串)型.逻辑型 三.操作符 数学操作符.关系操作符.逻辑操作符 优先级: 1.括号优先 2.高级到低级 3.同级别从左到右 级别: 1.乘除.整除.取余 2.加减 3.关系运算 4.逻辑运算NOT 5.逻辑运算AND 6.逻辑运算OR 四.表达式(计算机识别的算式)