MQ系列专题

1-5种工作模式 请看图示

2-RabbitMQ安装和下载
下载安装:
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.14

这里面还有很多其他版本,没必要花积分去下载

mall整合RabbitMQ实现延迟消息
本文主要讲解mall整合RabbitMQ实现延迟消息的过程,以发送延迟消息取消超时订单为例。

项目使用框架介绍
RabbitMQ
RabbitMQ是一个被广泛使用的开源消息队列。它是轻量级且易于部署的,它能支持多种消息协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求。

RabbitMQ的安装和使用
安装Erlang,下载地址:http://erlang.org/download/otp_win64_21.3.exe
在这里插入图片描述
配置环境变量
https://blog.csdn.net/weixin_39735923/article/details/79288578
变量名:ERLANG_HOME

变量值就是刚才erlang的安装地址,点击确定。

然后双击系统变量path
在这里插入图片描述
点击“新建”,将:

%ERLANG_HOME%\bin

加入到path中。

安装RabbitMQ,下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.14
在这里插入图片描述
最后windows键+R键,输入cmd,再输入erl,看到版本号就说明erlang安装成功了。
在这里插入图片描述

Linux 和window 都有 下拉到网页最下就行
在这里插入图片描述

安装完成后,进入RabbitMQ安装目录下的sbin目录
在这里插入图片描述
RabbitMQ安装好后接下来安装RabbitMQ-Plugins。进入RabbitMQ的sbin目录,打开命令行cmd,输入下面命令

rabbitmq-plugins enable rabbitmq_management

Copy to clipboardErrorCopied
打开sbin目录,双击rabbitmq-server.bat
在这里插入图片描述
等几秒钟看到这个界面后,访问: http://localhost:15672
在这里插入图片描述

访问地址查看是否安装成功:http://localhost:15672/
在这里插入图片描述

6-输入账号密码并登录:guest guest

7-创建帐号并设置其角色为管理员:mall mall
在这里插入图片描述

8-创建一个新的虚拟host为:/mall
在这里插入图片描述

9-点击mall用户进入用户配置页面
在这里插入图片描述

10-给mall用户配置该虚拟host的权限
在这里插入图片描述

至此,RabbitMQ的安装和配置完成。
RabbitMQ的消息模型
在这里插入图片描述

标志中文名英文名描述
P生产者Producer消息的发送者,可以将消息发送到交换机
C消费者Consumer消息的接收者,从队列中获取消息进行消费
X交换机Exchange接收生产者发送的消息,并根据路由键发送给指定队列
Q队列Queue存储从交换机发来的消息
type交换机类型typedirect表示直接根据路由键(orange/black)发送消息

如果启动不了

1-卸载重装
卸载方法:

1、移除RabbitMQ服务

2、打开控制面板——>卸载 RabbitMQ Server——> 卸载 Erlang OTP

3、打开任务管理器,停止掉 进程epmd.exe

4、删除掉 Erlang 和RabbitMQ的所有安装目录

2-查看RBMQ的日志:

看一下是什么错误

常见错误一:
安装在了中文目录下
有一个因为电脑是中文目录,没配置环境变量 指定 日志文件存储目录 都是默认存储在c盘的用户文件夹上.已收录到BUG集中

MQ的分类:

MQ种类单机吞吐量优点缺点应用场景
ActiveMQ万级可用性高,基于主从架构实现高可用消息可靠性较低的概率丢失数据
RabbitMQ万级1-是一个在AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一 2-性能较好,MQ功能比较完备,健壮,稳定,易用,跨平台,支持多种语言 如:Python,Ruby,NET,Java,JMS,C,PHP等 2-支持Ajax文档齐全,管理页面非常棒,社区活跃度高,更新频率相当高商业版需要收费,学习成本较高中小型公司,数据量没有这么大的
RockerMQ十万级1-可用性非常高,分布式架构 2-数据0丢失,还支持十亿级别的消息堆积 3-java写的,阅读性好,可以定制自己公司的MQ1-支持的客户端语言不多 2-目前是java及c++,其中c++不成熟,社区活跃度一般,没有在MQ核心中去实现JMS等接口,有些系统要迁移需要修改大量代码金融互联网,高并发
kafka百万级1-性能卓越,吞吐量高 2-可用性非常高,少数机器宕机,不会丢失数据,不会导致不可用,消费者采用pull方式获取消息,消息有序3-有web管理界面 4-日志领域比较成熟1-单机超过64个对列分区,Load会发生明显的飙高现象 队列越多,Load越高 2-发送消息响应时间变长,使用短轮询方式,实时性取决于轮询间隔时间 3-消息失败不支持重试,支持消息有序,但是一台代理宕机后,就会产生消息乱序,社区更新较慢大型公司处理大量数据,日志采集功能

添加依赖

		 <!--rabbitmq依赖的客户端-->
        <dependency>
            <groupId>com.rabbitmq</groupId>
            <artifactId>amqp-client</artifactId>
            <version>5.8.0</version>
        </dependency>
        <!--操作文件流的一个依赖-->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

香瓜西蕉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值