RabbitMQ及web界面安装配置

一、RabbitMQ介绍

1、什么是MQ

MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。

2、MQ的优缺点

优点:

        异步通信:消息队列允许多个处理程序并行处理消息,这可以减轻应用程序的负载,提高系统的吞吐量。
        可靠性:消息队列通常支持事务性操作,这有助于确保消息的可靠传递,以及在失败时能够进行重试。
        解耦:消息队列可以用于将应用程序的不同部分解耦,使它们能够以松散或独立的方式进行通信。
        可扩展性:MQ支持在分布式系统中进行扩展,允许系统之间的通信跨越不同的节点和网络。

        削峰填谷:举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就能返回结果。但是在高峰期,如果有两万次下单操作系统是处理不了的,只能限制订单超过一万后不允许用户下单。使用消息队列做缓冲,我们可以取消这个限制,把一秒内下的订单分散成一段时间来处理,这时有些用户可能在下单十几秒后才能收到下单成功的操作,但是比不能下单的体验要好。
缺点:

        延迟:如果多个消息排队等待处理,消息队列可能会引入延迟。特别是在高并发环境下,这种情况可能会更加明显。
        性能:由于消息队列需要维护消息的持久性和可靠性,因此在处理大量消息时可能会面临性能问题。
        复杂性:使用消息队列需要一定的技术知识和配置,这可能会增加系统的复杂性。
        资源占用:处理大量的消息需要大量的内存和磁盘空间,这可能会对系统资源产生压力。
        不支持实时性:消息队列主要用于异步通信,不支持实时性要求较高的场景。

3、什么是RabbitMQ

RabbitMQ
是一个开源的消息代理软件,实现了高级消息队列协议(AMQP)。

RabbitMQ使用Erlang语言编写,这是一种高性能的编程语言,特别适合于分布式系统的开发。RabbitMQ的核心功能包括消息的发布与订阅、路由、可靠性、安全等。它主要用于实现应用程序之间的异步通信和解耦,允许一个应用程序(生产者)生成消息,而另一个应用程序(消费者)异步地消费这些消息。RabbitMQ支持多种客户端接口,包括Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP和STOMP等,因此可以与多种编程语言和平台集成。

此外,RabbitMQ在易用性、扩展性和高可用性方面表现出色,适用于需要处理大量消息和实现复杂消息路由的应用场景。

4、RabbitMQ模式

1、队列模式

一个发布者发布消息,下面的接收者按队列顺序接收,比如发布了10个消息,两个接收者A,B那就是A,B总共会收到10条消息,不重复。

 2、主题模式

对于Topic模式,一个发布者发布消息,有两个接收者A,B来订阅,那么发布了10条消息,A,B各收到10条消息。

3、RabbitMQ的模式

生产者生产消息后不直接直接发到队列中,而是发到一个交换空间:Exchange,Exchange会根据Exchange类型和Routing Key来决定发到哪个队列中,这个讲到发布订阅在详细来看

二、RabbitMQ安装

1、安装erlang

rabbitmq是erlang语言编写的,安装rabbitmq之前,需要先安装erlang。

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#安装编译环境
yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
#切换到src目录
cd /usr/local/src
#下载erlang地址
https://packagecloud.io/rabbitmq/erlang?page=1
#curl下载erlang rpm包
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
#更新yum
yum -y update
#用yum安装
sudo yum install erlang socat 
#验证
erl

2、下载安装RabbitMQ

(1)、下载rabbitmq

Installing RabbitMQ | RabbitMQ 官网

 #导入
#下载rabbitmq-server rpm包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el7.noarch.rpm
curl -s https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el7.noarch.rpm.sh | sudo bash

#安装rabbitmq
rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
#设置开机自启动
systemctl enable rabbitmq-server
#开启rabbitmq-server服务
systemctl start rabbitmq-server
#关闭rabbitmq-server服务
systemctl stop rabbitmq-server
#查看状态
systemctl status rabbitmq-server

3、配置web界面

# 停止rabbitmq
systemctl stop rabbitmq-server

# 停止开启web管理端
rabbitmq-plugins enable rabbitmq_management
# 然后启动rabbitmq就可以访问管理页面
systemctl start rabbitmq-server
#访问地址  现在访问不了 默认的账号:guest 密码:guest 只能在本地访问 需要添加账号
ip:15672

#####################
#如果开启web管理报错则
#修改/etc/hosts文件底部添加 一行 原有的不要改
#ip 主机名
192.168.91.70 tomcat
#重启系统 重新关掉防火墙和rabbitmq-server重新执行web端开启命令
rabbitmq-plugins enable rabbitmq_management
########################################

#添加账号设置权限
#这个是查看rabbitmq下面有多少用户
rabbitmqctl list_users
#增加账户admin并在设置admin的密码
rabbitmqctl add_user admin 密码
#设置admin的角色为管理员
rabbitmqctl set_user_tags admin administrator
#设置admin的权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#修改密码
rabbitmqctl change_password username  password
#删除用户
rabbitmqctl delete_user username
  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RabbitMQ Web界面是用于管理和监控RabbitMQ消息队列系统的图形化界面。可以通过Web界面来设置用户登录权限以及其他配置项。 在设置用户登录Web界面权限时,可以使用命令`rabbitmqctl set_user_tags 用户 (administrator,monitoring, management)`来为用户分配角色,其中`administrator`表示管理员角色,`monitoring`表示监控角色,`management`表示管理角色。 另外,在配置Properties时,可以通过在配置项中加一组键值对来指定属性。例如,可以使用`content_type`作为key,`text/plain`作为value来指定内容类型为纯文本。 综上所述,RabbitMQ Web界面是一个用于管理和监控RabbitMQ消息队列系统的图形化界面。用户可以通过设置用户登录权限和配置Properties来对Web界面进行解释和配置。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [rabbitmqadmin](https://download.csdn.net/download/gw5205566/12589256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [RabbitMQweb界面操作](https://blog.csdn.net/y_bccl27/article/details/119719756)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值