RabbitMQ的安装

超详细的Java知识点路线图


前言

还不会MQ吗?赶快学起来!本文将介绍消息队列的概念和作用,还有RabbitMQ的安装和基本使用。

消息队列概念

消息队列(Message Queue)简称MQ,简单来说就是一种消息的容器,作用是采用FIFO(先入先出)的方式实现程序之间(服务、进程、线程)的消息通信。
在这里插入图片描述

消息队列的作用

MQ的作用有:
1)解耦
分布式系统都由N个系统组成,系统之间需要互相调用,如A服务要调用B服务和C服务。
在这里插入图片描述
直接调用的方式,代码需要写死在A服务中,如果需求发生变化(如删除C服务,添加D服务),需要修改大量原有代码,代码耦合性太高。
在这里插入图片描述
采用消息队列的方式,服务之间不是直接对接,对接的是消息队列,A停止发布消息给C,发布消息给D就可以了,系统耦合性大大降低。
2)异步
传统的接口调用方式,是同步执行的,需要等待每个接口调用完成,假设调用A调用B需要200ms,调用C需要300ms,调用D需要400ms,一共就需要900ms。
在这里插入图片描述
使用MQ后,A服务只需要向MQ发送3条消息然后立即返回,不需要等待消费者服务完成操作,大大提高了响应速度。
3)削峰
突然性流量过大,请求全部发送给服务处理,服务压力过大,可能导致性能降低,或者宕机。
MQ可以控制消息的容量,超过部分可以丢弃或延后处理。

主流的消息队列

目前市场上主流的消息队列有4种:

  • ActiveMQ
  • RabbitMQ
  • RocketMQ
  • Kafka
    在这里插入图片描述
    RabbitMQ并发性能好,而且部署相对容易,是目前很多企业使用的消息队列。

安装RabbitMQ

Linux安装

安装erlang

wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum install epel-release
yum install erlang

安装rabbitmsq

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.7/rabbitmq-server-3.9.7-1.el7.noarch.rpm
yum install rabbitmq-server-3.9.7-1.el7.noarch.rpm  # 目前的最新版本 支持erlang24

启动rabbitmsq

service rabbitmq-server start

启用管理工具

rabbitmq-plugins enable rabbitmq_management 

防火墙允许端口

firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp

将配置文件模板复制到etc目录:

cp /usr/share/doc/rabbitmq-server-3.9.7-1/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

通过vi命令编辑:

vi /etc/rabbitmq/rabbitmq.config

修改下面内容:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ou2QLqXY-1634009581873)(assets/1527066694704.png)]
注意要去掉后面的逗号

设置开机启动

输入下面命令

chkconfig rabbitmq-server on

Windows安装

文件下载:https://download.csdn.net/download/u013343114/14950006
1)安装erlang
2)安装rabbitmq
3)打开菜单输入命令,启动管理工具
在这里插入图片描述

rabbitmq-plugins enable rabbitmq_management

4)启动rabbit

net start rabbitmq
net stop rabbitmq

5)浏览器输入: http://localhost:15672 账号密码都是guest
在这里插入图片描述

基本使用

用户

不同的系统可以使用各自的用户登录RabbitMQ,可以在Admin的User页面添加新用户
在这里插入图片描述

虚拟主机

虚拟主机相当于一个独立的MQ服务,有自身的队列、交换机、绑定策略等。
添加虚拟主机
在这里插入图片描述

队列

不同的消息队列保存不同类型的消息,如支付消息、秒杀消息、数据同步消息等。
添加队列,需要填写虚拟主机、类型、名称、持久化、自动删除和参数等。
在这里插入图片描述

交换机

生产者将消息发送到交换机Exchange,再由交换机路由到一个或多个队列中;
交换器的类型有fanout、direct、topic、headers这四种,下篇文章将详细介绍。
添加交换机
在这里插入图片描述

结束


大家如果需要学习其他Java知识点,戳这里 超详细的Java知识点汇总

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

恒哥~Bingo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值