YOLO:Java 多线程测试 MQ 性能步骤及代码(示例: 简单模式)

Java 多线程测试 MQ 性能步骤及代码(示例: 简单模式)

原文1
win10安装rabbitmq.3.8.14与启动
Erlang 运行环境 otp_win64_23.2.exe 以及 rabbitmq-server-3.8.14.exe 下载以及安装
原文2
原文3

本文源代码下载:https://github.com/looyolo/looProj_test-rabbitmq.git

下载地址:
erlang https://www.erlang.org/downloads
RabbitMQ http://www.rabbitmq.com/

两者之间的关系:RabbitMQ 服务端代码,
是使用并发式语言 erlang 编写的。

由于是国外网站,下载很慢甚至一直连不上,
幸运的是,有网友分享:
百度网盘:https://pan.baidu.com/s/1cYvOp9YCqqnzDrqUEk8eVw
提取码:dj1f
迅雷:https://pan.xunlei.com/s/VMV-lVsFTp0CZ3mrKIwNiB4IA1
提取码:g7nu

1:Windows下安装 RabbitMQ 需要以下几个步骤

(0):准备:先打开 RabbitMQ 下载地址页面,了解 erlang 和 RabbitMQ 的兼容版本,如图,
在这里插入图片描述

(1):下载 erlang,双击 .exe 文件进行安装就好。
在这里插入图片描述

安装完成之后,创建一个名为 ERLANG_HOME 的环境变量,其值指向 erlang 的安装目录,同时将 %ERLANG_HOME%\bin 加入到 Path 中,然后以管理员身份运行 CMD,打开“命令提示符“窗口,输入 erl ,如果出现 erlang 的版本信息就表示 erlang 语言环境安装成功;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2):下载 RabbitMQ ,同样双击 .exe 进行安装就好。
这里需要注意一点,改变安装目录的话,目录中是不允许有空格的;
在这里插入图片描述
安装完成后,在 RabbitMQ 的安装目录的 sbin 会有:rabbitmq-server.bat
如下图,
在这里插入图片描述
在 cmd 窗口运行 rabbitmq-server start
注意:首次安装后,默认是启动的,所以这一步不用执行,直接到下一步。
img
(3):安装 RabbitMQ-Plugins ,这个相当于是一个管理界面,方便我们在浏览器界面查看 RabbitMQ 各个消息队列以及 exchange 的工作情况。
安装方法是:打开命令行 cd 进入 rabbitmq 的 sbin 目录 (我的目录是:D:\honor_RocketMQ\rabbitmq-server-3.8.14_installed_here\rabbitmq_server-3.8.14\sbin ) ,运行命令:rabbitmq-plugins enable rabbitmq_management 开启 Web 管理插件,稍等一下会发现出现 plugins started 成功的提示。
在这里插入图片描述
关闭 CMD 窗口,停止Web plugins 管理服务。

(4):插件安装完之后,在浏览器输入 http://localhost:15672 进行验证,你会看到下面界面,输入
用户名:guest
密码:guest
你就可以进入管理界面,当然用户名密码你都可以变的;
在这里插入图片描述
在这里插入图片描述

2:安装完 RabbitMQ 之后,我们先来简单了解下 RabbitMQ 中涉及到的几个概念

producer: 消息生产者

consumer: 消息消费者

virtual host: 虚拟主机,在 RabbitMQ 中,用户只能在虚拟主机的层面上进行一些权限设置,比如我可以访问哪些队列,我可以处理哪些请求等等;

broker: 消息转发者,也就是 RabbitMQ 服务端充当的功能。
那么,消息是按照什么规则进行转发的呢?
需要用到下面几个概念;

exchange: 交换机,和 producer 直接进行打交道的,有点类似于路由器的功能,主要就是进行转发操作的呗,那么 producer 到底用哪个 exchange 进行路由呢?这个取决于 routing key (路由键) ,每个消息都有这个键,我们也可以自己设定,其实就是一行字符串;

queue: 消息队列,用于存放消息,他接收 exchange 路由过来的消息,我们可以对队列内容进行持久化操作 (keepalive),那么 queue 到底接收哪一个 exchange 路由的消息呢?这个时候就要用到 binding key (绑定键) 了,绑定键会将队列和 exchange 进行绑定,至于绑定方式,RabbitMQ 提供了多种方式,大家可以看看鸿洋大神的 RabbitMQ博客系列 (点击查看);

以上就是 RabbitMQ 涉及到的一些概念了,
用一张图(图 1)表示这些概念之间的关系就是:

img
图 1
在这里插入图片描述
图 2

图 2 中第 1 种方式:简单模式

RabbitMQ 是信息传输的中间者。
本质上,他从生产者(producers)接收消息,
转发这些消息给消费者(consumers),
能够按根据你指定的规则进行消息转发、缓冲、和持久化。

RabbitMQ 的一些常见的术语:
Producing意味着无非是发送。一个发送消息的程序是一个producer(生产者)。一般用下图表示Producer:

img

Queue(队列)类似邮箱,依存于 RabbitMQ 内部。
虽然消息通过 RabbitMQ 在你的应用中传递,
但是它们只能存储在 queue 中。队列不受任何限制,
可以存储任何数量的消息—本质上是一个无限制的缓存。
很多 producers 可以通过同一个队列发送消息,
相同的很多 consumers 可以从同一个队列上接收消息。
一般用下图表示队列:

img

Consuming(消费)类似于接收。
consumer 是基本属于等待接收消息的程序。
一般使用下图表示 Consumer :

img

注意:producer(生产者), consumer(消费者),
broker( RabbitMQ 服务)并不需要部署在同一台机器上,
实际上在大多数实际的应用中,也不会部署在同一台机器上。

简单实例:
一个 producer 发送消息,一个接收者接收消息,
并在控制台打印出来。
如下图:

img
也就是说,在我们当前的例子中,
并没有用到 e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

looyolo

你的鼓励,是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值