RabbitMQ使用简记

【消息队列(MQ)RabbitMQ以及RPC简记】 通配符交换机”与之前的路由模式相比,它将信息的传输类型的key更加细化,以“key1.key2.keyN....”的模式来指定信息传输的key的大类型和大类型下面的小类型,让消费者可以更加精细的确认自己想要获取的信息类型。而在消费者一段,不用精确的指定具体到哪一个大类型下的小类型的key,而是可以使用类似正则表达式(但与正则表达式规则完全不同)的通配符在指定一定范围或符合某一个字符串匹配规则的key,来获取想要的信息。(这里与我们一般的正则表达式的“*”和“#”刚好相反,这里我们需要注意一下。 阅读详情

RabbitMQ是什么

MQ全称为Message Queue, 即消息队列。MQ是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。RabbitMQ则是一个在AMQP基础上完整的,可复用的企业消息系统。

官方地址:http://www.rabbitmq.com/

RabbitMQ安装与启动

安装命令

终端中输入以下命令

     
1
2
     
brew update
brew install rabbitmq
配置RabbitMQ

安装完成后需要将/usr/local/sbin添加到环境变量中

打开.bash_profile文件

     
1
     
vim ~/.bash_profile

将 PATH=/usr/local/sbin:$PATH 加入文件

通过:wq命令保持文件并退出

     
1
     
source ~/.bash_profile
启动RabbitMQ

终端中输入以下命令

     
1
     
rabbitmq-server
登录Web管理界面

浏览器地址栏输入 http://localhost:15672/,账户密码默认 guest

RabbitMQ登录页面

Hello RabbitMQ

通过一个实例来体验RabbitMQ的使用方法。

添加依赖包

在pom.xml文件中新增dependency

     
1
2
3
4
5
     
<dependency>
<groupId>com.rabbitmq </groupId>
<artifactId>amqp-client </artifactId>
<version>3.6.5 </version>
</dependency>
Send实现
     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
     
public class Send {
private final static String QUEUE_NAME = "hello";
public static void main(String[] argv)
throws java.io.IOException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost( "localhost");
Connection connection = null;
Channel channel = null;
try {
connection = factory.newConnection();
channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
String message = "Hello Rabbit!";
channel.basicPublish( "", QUEUE_NAME, null, message.getBytes());
System.out.println( " [x] Sent '" + message + "'");
} catch (TimeoutException e) {
e.printStackTrace();
} finally {
try {
channel.close();
} catch (TimeoutException e) {
e.printStackTrace();
}
connection.close();
}
}
}
Recv实现
     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
public class Recv {
private final static String QUEUE_NAME = "hello";
public static void main(String[] argv)
throws java.io.IOException,
java.lang.InterruptedException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost( "localhost");
Connection connection = null;
try {
connection = factory.newConnection();
} catch (TimeoutException e) {
e.printStackTrace();
}
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
System.out.println( " [*] Waiting for messages. To exit press CTRL+C");
Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)
throws IOException {
String message = new String(body, "UTF-8");
System.out.println( " [x] Received '" + message + "'");
}
};
channel.basicConsume(QUEUE_NAME, true, consumer);
}
}
测试结果

多次运行Send类 [x] Sent 'Hello Rabbit!'可以通过界面查看在消息队列中暂存的消息。

RabbitMQ消息测试

此时运行Recv类可以读取消息队列中的消息

     
1
2
3
4
     
[*] Waiting for messages. To exit press CTRL+C
[x] Received 'Hello Rabbit!'
[x] Received 'Hello Rabbit!'
[x] Received 'Hello Rabbit!'

RabbitMQ基本概念

交换器Exchange
  • direct交换器:如果路由键匹配的话,消息就被投递到对应的队列。
  • fanout交换器:将收到的消息广播到绑定的队列上。
  • topic交换器:根据规则,使得来自不同源头的消息能够到达同一队列。
队列Queue
绑定Binding
RabbitMq的基本使用 Mq:消息队列(Message Queue)从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已 作用:应用程序 "对" 应用程序的通信方式 应用场景 主要解决异步处理、应用解耦、流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构 1.异步处理 用户注册后,需要发注册邮件和注册短信 2.应用解耦 用户... 阅读详情

相关推荐

使用 Docker 部署 RabbitMQ 的详细指南

RabbitMQ 是一个流行的开源消息代理软件,它实现了高级消息队列协议(AMQP)。本文将详细介绍如何使用 Docker 部署 RabbitMQ,并提供一些配置和管理的技巧。为了确保 RabbitMQ 的数据在容器重启或删除后不会丢失,我们使用了 Docker 的卷(volume)功能。RabbitMQ 容器通过指定环境变量的方式进行配置,这比修改配置文件便捷得多。为了防止数据丢失,定期备份 RabbitMQ 的数据是非常重要的。如果尚未安装,可以参考。)登录,即可访问 RabbitMQ 的管理界面。

m0_74825614的博客 1549

rabbitmq简记

rabbimq

kankan231的专栏 1092

【RabbitMQ】【Laravel】【PHP】Laravel 中使用 RabbitMQ

在文件中的handle()方法中定义消息处理逻辑。当消费者接收到消息时,它会调用这个方法。在 Laravel 中使用 RabbitMQ 可以通过安装包来快速集成。你需要配置 RabbitMQ 的连接信息并通过队列将消息发送到 RabbitMQ,消费者则从队列中接收和处理这些消息。确保队列和消息设置为持久化,以避免消息丢失。

a731637163的博客 1826

RabbitMQ的安装与使用

RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。开发语言为Erlang。linux系统中安装RabbitMQ比较繁琐,这里使用的是Docker安装。死信队列就是在某种情况下,导致消息无法被正常消费(异常,过期,队列已满等),存放这些未被消费的消息的队列即为死信队列。

马志武的博客 2873

RabbitMQ在SpringBoot中的使用详解

RabbitMQ在SpringBoot中的应用指南 本文全面介绍了RabbitMQ消息中间件在SpringBoot中的集成与应用。内容涵盖RabbitMQ核心概念(队列、交换机、绑定)、环境搭建(Docker推荐)、SpringBoot集成步骤以及五种常用消息模式(简单队列、工作队列、发布订阅、路由、主题)的详细实现。特别强调了消息确认机制(生产者/消费者确认)、实际项目应用案例(订单系统、延迟队列)以及常见问题解决方案(消息丢失、重复消费、性能优化)。文章还提供了监控配置建议和最佳实践指导,帮助开发者构建

weixin_51040479的博客 1380

Mid-360激光雷达与IMU标定实战:从环境配置到参数优化

本文详细介绍了Mid-360激光雷达与IMU标定的完整流程,涵盖环境配置、驱动适配、参数优化及实战操作。重点解析了标定参数设置技巧与常见问题解决方案,帮助开发者提升机器人感知系统的定位与建图精度,确保LiDAR-IMU数据融合的最佳效果。

a1b2c3d的博客 915

rabbitmq系列1——安装并使用rabbitmq

🔥本篇概览:详细讲解了安装并使用rabbitmq,并讲解了数据隔离而生的的virtualhost。🌈⭕🔥

做一个善良的人,做好自己的事,如果愿意,再发一份光。 2116

Comsol固体力学仿真﹣﹣受均匀内压的厚壁球壳弹塑性分析(加载卸载全流程)

COMSOL固体力学及结构力学仿真较少,故而查询了有关资料,才建立了如下模型。图4 加载卸载全历程中的冯米塞斯应力变化。该有限元模型是通过扫掠而得的结构化网格。图2 加载卸载全历程中的塑型区域变化。图3 加载卸载全历程中的位移应力变化。图6 关键节点第一,第三主应力分布。图5 关键节点应力场与塑性区分布。《弹塑性力学》大作业,记录一下。图1 球体的有限元网格模型。

weixin_62236383的博客 1486

Docker安装RabbitMQ以及简单使用

写在前面 为什么选择RabbitMQ? 市场上消息队列的组件有很多,ActiveMQ、RabbitMQ、RocketMQ、kafka等。我这里只是选择其中一种消息队列进行学习,如果你也在犹豫到底我要选择哪一个?可以看看这个 RabbitMQ安装 镜像检索以及下载 使用docker的搜索命令docker search rabbitmq在docker仓库中搜索RabbitMQ ,会搜索到如下结果: 我们选择第一个official的官方版本下载使用,不加后面的版本号就会下载最新的镜像 下载命令:docker

果然的博客 4880

深入理解光流法外推雷达回波

背景介绍 鉴于本人实在太过疲惫和劳累,一些简单的便于理解的废话就不在记录,耗费两天时间研究了一下光流法,本帖用于记录学习过程中源码的难点细节。 使用光流预测的核心有两个利用多张连续回波图像(变分)或者相邻两张回波图(交叉相关,LK等)计算出光流场(速度矢量场),之后利用半拉格朗日方法进行外推。 半拉格朗日方法 三时间步半拉格朗日方法,其核心公式如下 但这个有点难理解,但看一维的图就很好理解 它的核心就是迭代求Am(位移矢量),如果理解困难的话,其实质上就是通过未来迭代(猜)出当前时刻的Am找到过去的假设

weixin_44695861的博客 6035

跟着团子学SAP PS:BOM和项目结构的联动-BOM Transfer CN33

关于项目中的物料组件挂接你需要了解的一点功能

Lucas1211的博客 2万+

RabbitMQ的基本使用

RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。 一、消息队列 1、MQ:Message Queue释义 服务之间最常见的通信方式是直接调用彼此来通信,消息从一端发出后立即就可以达到另一端,称为即时消息通讯(同步通信) 消息从某一端发出后,首先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端,称为延迟消息通讯(异步通信) 2、消息队列特点.

qq_54936371的博客 3121

5分钟搞定PaddleOCR PP-OCRv5环境搭建:从安装到第一个识别Demo

本文提供了一份详细的PaddleOCR PP-OCRv5环境搭建与快速入门指南。通过清晰的步骤,指导读者在5分钟内完成从创建Python虚拟环境、安装PaddlePaddle框架和PaddleOCR库,到编写并运行第一个OCR识别Demo的全过程,帮助开发者快速体验最新的PP-OCRv5模型的文字识别能力。

sprite的博客 1267

RabbitMQ简单使用

以下是关于如何在 Spring Boot 项目中使用 RabbitMQ 的详细指南,涵盖核心概念、配置、代码实现及使用场景。RabbitMQ 是一个开源的消息代理(Message Broker),基于 AMQP 协议实现异步通信。通过以上步骤,你可以在 Spring Boot 项目中轻松集成 RabbitMQ,实现高效可靠的异步通信。

FAQEW的博客 1464

【AI编程】2025年16款主流AI编程工具全维度测评及选型指南

2025年16款主流AI编程工具全维度测评及选型指南

funfan的博客 1万+

红火蚁巢穴AI智能识别,提供方案与思路!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1042

NestJs 使用 RabbitMQ

1

qq_36264795的博客 2119

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

RabbitMQ集群搭建及使用

前提条件:linux服务器下已经安装好了docker服务。本文档将搭建一个三台RabbitMQ的集群,包括三个RabbitMQ容器安装在同一服务器和三台不同的服务器。

weixin_46562226的博客 1541

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

使用RabbitMQ

【代码】使用RabbitMQ。

make_progress的博客 2288

RabbitMQ 在 Spring Boot中使用方式

与直接模式(Direct Exchange)、扇出模式(Fanout Exchange)和主题模式(Topic Exchange)不同,Headers Exchange允许你根据消息的头部属性来决定路由逻辑,而不是简单的字符串匹配。与直接模式(Direct Exchange)不同的是,主题交换机允许使用通配符来匹配消息的路由键(routing key),从而实现更加复杂的消息路由逻辑。发送消息到fanout类型的交换机时,不需要指定路由键,因为fanout交换机会忽略路由键并将消息广播给所有绑定的队列。

ling_zhi_xin的博客 3310

RabbitMQ使用 详解

RabbitMQ单机安装 RabbitMQ消息模型:基本消息队列、工作消息队列、发布订阅(Fanout、Direct、Topic) RabbitMQ集群部署 RabbitMQ生产者消息确认 RabbitMQ消费者消息确认 RabbitMQ消息失败重试机制 RabbitMQ死信交换机 RabbitMQ惰性队列 RabbitMQ消息延迟发送 RabbitMQ镜像集群 RabbitMQ仲裁队列 RabbitMQ集群扩容

lxlsygxs2017的博客 1828

RabbitMq的使用

最近处理访客记录所以,来学习下rabbitMQ。之前同事已经写好了,这里只需要进行消费,后续会逐渐完善。0.介绍0.1交换机(Exchanges)rabbitmq中生产者发送的消息都是发送到交换机,再由交换机推入队列。所以生产者不知道队列去了哪里,就靠Exchage来控制,交换机总共有以下几种类型。0.1.1广播模式(fanout)扇出所有消息进入队列,类似广播。0.1.2直接交换(direct)

weixin_43487532的博客 1934

C# RabbitMQ的使用

RabbitMQ安装 先说一下RabbitMQ的安装,建议使用Docker镜像安装,Docker安装的好处是不管Windows系统还是Linux,安装步骤少,安装方法相同,不容易出错。使用下面的命令就可以: docker run -d --hostname myRabbit --name rabbitmq3.9.11 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin RABBITMQ_DEFAULT_VHOST=my_vho..

秉持Love and share的态度去学习和生活 3026

rabbitMQ 基本使用

消息队列 Message queue 释义 服务之间最常见的通信方式是直接调用彼此来通信,消息从一端发出后立即就可以达到另一端,称为即时消息通讯(同步通信) 消息从某一端发出后,首先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端,称为延迟消息通讯(异步通信) 带来的好处 1. 小红想给小明书的时候,不必问小明什么时候有空,亲手把书交给他了,小红只把书放到书架上就行了.这样小红小明的时间都更自由. 2. 小红相信小明的读书自觉和读书能力,不必亲眼观察小明的读书过程,

m0_58525944的博客 953
上一篇: RabbitMQ入门教程 For Java【1】 - Hello World
下一篇: Git 常用命令大全
赢阡
博客等级 码龄10年 6粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值