rabbitmq学习笔记

SailorXiao SailorXiao     2022-07-31     321

关键词:

1 基本概念

  • rabbitmq server(broker server):rabbitmq服务 client:包括producers和consumer
  • message:包括payload和label exchange:producer发布message的地方
  • queue:messages存放和consumer收取message的地方
  • bindings:将message从exchange到不同queue的实现
  • connection:tcp连接,producer和consumer都是通过connection到rabbitmq server
  • channels:虚拟连接,建立在connection上,在创建后connection创建,需要基于channels进行通信

使用channel而不是使用tcp通信的原因:关闭tcp连接代价较大,channel是tcp连接上的虚拟连接概念,关闭连接没有代价,感觉有点像golang的goroutine概念

2 基本机制

ack

ack配置和相应策略?

queue

  • 创建:建议producer和consumer都try create queue
  • try create:当queue存在,try create不会改变其属性

exchange

  • direct:以routing key直接匹配到对应queue
  • fanout:广播给queue
  • topic:可以对key进行正则匹配,比如ab*传递给所有以ab开头的queue

virtual hosts

隔离,本质上是个rabbitserver,拥有自己的queue,exchange,bings rule等

3 开发

持久化: 
- 队列持久化和消息持久化区别?http://blog.csdn.net/hanruikai/article/details/42778921

rabbitmq学习笔记

1基本概念rabbitmqserver(brokerserver):rabbitmq服务client:包括producers和consumermessage:包括payload和labelexchange:producer发布message的地方queue:messages存放和consumer收取message的地方bindings:将message从exchange到不同queue的实现con 查看详情

rabbitmq学习笔记2基本概念

官网:http://www.rabbitmq.com 参考:http://blog.csdn.net/column/details/rabbitmq.html 1基本概念rabbitmqserver(brokerserver):rabbitmq服务client:包括producers和consumermessage:包括payload和labelexchange:produce 查看详情

rabbitmq学习开发笔记

ConnectionFactory、Connection、Channel    ConnectionFactory、Connection、Channel,这三个都是RabbitMQ对外提供的API中最基本的对象。不管是服务器端还是客户端都会首先创建这三类对象。    ConnectionFactory为Connecti 查看详情

rabbitmq学习笔记五:rabbitmq之优先级消息队列

RabbitMQ优先级队列注意点:1、只有当消费者不足,不能及时进行消费的情况下,优先级队列才会生效2、RabbitMQ3.5以后才支持优先级队列代码在博客:RabbitMQ学习笔记三:Java实现RabbitMQ之与Spring集成 最后面有下载地址,只是做... 查看详情

rabbitmq学习笔记1安装和配置

环境OS:CentOSLinuxrelease7.1.1503(Core) kernel:3.10.0-229.el7.x86_64 安装参考:http://www.rabbitmq.com/install-rpm.html Erlang rabbitmq从官网:http://www.rabbitmq.com/,找出最新版本为3.6.2 查看详情

rabbitmq学习笔记2-理解消息通信

...的相关信息,包含具体的交换器、消息的接受兴趣方等。rabbitmq的基础流程如下:RabbitMQ的客户端和服务端通过channel与RabbitMQ服务器进行通信。Channel(信道):程序和RabbitMQ之间的连接是通过channel,channel是基于TCP协议之上的?,一个... 查看详情

rabbitmq学习笔记(自用)(代码片段)

...概念1.1什么是MQ1.2为什么要用MQ1.3MQ的分类1.4MQ的选择二、RabbitMQ2.1RabbitMQ的概念2.2四大核心概念三、简单案例3.1WorkQueues3.2轮训分发消息3.3消息应答3.4RabbitMQ持久化3.5不公平分发3.6预取值分发四、RabbitMQ-发布确认4.1发布确认逻辑4.2发... 查看详情

rabbitmq学习笔记3:rabbitmq快速入门消息模式

一、RabbitMQ快速入门1、什么是RabbitMQ?(是基于AMQP协议的实现者,用Erlang语言写的。支持多种语言,用于在分布式系统中存储消息、转发消息,具有高可用、高可扩、易用性等特性。)2、RabbitMQ的安装、Web... 查看详情

rabbitmq学习笔记5:rabbitmq高级

...都可以被消费者接收获取;过了之后消息将自动被删除。2.RabbitMQ可以对消息和队列设置TTL,目前有两种方法可以设置:第一种方法是通过队列属性设置,队列中所有消息都有相同的过期时间。第二种方法是对消息进行单独设置,... 查看详情

学习笔记《rabbitmq实战指南》笔记(代码片段)

本文摘录总结自《RabbitMQ实战指南》。一、消息中间件消息队列中间件(MessageQueueMiddleware,简称为MQ)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。它... 查看详情

学习笔记《rabbitmq实战指南》笔记(代码片段)

本文摘录总结自《RabbitMQ实战指南》。一、消息中间件消息队列中间件(MessageQueueMiddleware,简称为MQ)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。它... 查看详情

rabbitmq学习笔记二:rabbitmq发送接收消息helloworld(java版)

前面我们已经了解了Windows下RabbitMQ相关服务安装,参见http://blog.csdn.net/u010416588/article/details/54599341一引入rabbitmqjavaclient前面我们已经在本地(windows下)安装配置好了RabbitMQserver。现在我们引入rabbitmqJavaclient。在ec 查看详情

rabbitmq学习笔记(代码片段)

文章目录1.RabbitMq(消息中间件)1.概念:是基于队列模式实现的异步/同步的传输数据。2.传统的Http请求存在哪些缺点?3.mq的使用场景?4.mq服务器如何保证消息不丢失?5.VirtualHost?Exchange分派我们的消息存放在哪个队... 查看详情

rabbitmq学习笔记(代码片段)

文章目录RabbitMq(消息中间件)1.概念:是基于队列模式实现的异步/同步的传输数据。2.传统的Http请求存在哪些缺点?3.mq的使用场景?4.mq服务器如何保证消息不丢失?5.VirtualHost?Exchange分派我们的消息存放在哪个队列... 查看详情

消息中间件学习笔记——rabbitmq

...性降低系统复杂度提高一致性问题三、常见的MQ产品四、RabbitMQ中的概念五、如何实现RabbitMQ的延迟对列一、消息中间件概述 通过下图我们就可以很好理解消息中间件的概念。二、消息中间件(MQ)的优劣(1).MQ的优势应用... 查看详情

rabbitmq学习笔记三:工作队列workqueue

前面我们已经实现了[rabbitMQ的helloWorld]参见(http://blog.csdn.net/u010416588/article/details/54615920),这篇中我们将会创建一个工作队列用来在工作者(consumer)间分发耗时任务。工作队列的主要任务是:避免立刻执行资源密集型任... 查看详情

rabbitmq超详细学习笔记(章节清晰+通俗易懂)(代码片段)

...学习,最近花了一段时间系统学习了当下最为主流的RabbitMQ消息队列,学习过程中也随时记录,刚开始学习的时候懵懵懂懂,做的笔记都比较杂乱,系统学习完后我将笔记内容不断反复修改,对章节进行设... 查看详情

rabbitmq学习笔记(代码片段)

视频教程【编程不良人】MQ消息中间件之RabbitMQ以及整合SpringBoot2.x实战教程1.MQ引言1.1什么是MQMQ(MessageQuene):消息队列,也叫消息中间件。通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费... 查看详情