您的位置:首页 > 科技 > 能源 > 热点事件舆情分析_crm系统成功案例分享ppt_seo是什么牌子_邵阳疫情最新消息

热点事件舆情分析_crm系统成功案例分享ppt_seo是什么牌子_邵阳疫情最新消息

2025/4/11 6:44:00 来源:https://blog.csdn.net/wk200411/article/details/146610788  浏览:    关键词:热点事件舆情分析_crm系统成功案例分享ppt_seo是什么牌子_邵阳疫情最新消息
热点事件舆情分析_crm系统成功案例分享ppt_seo是什么牌子_邵阳疫情最新消息

RabbitMQ简单介绍

  • 一.RabbitMQ介绍
  • 二.RabbitMQ的作用
    • 1.异步解耦
    • 2.流量削峰
    • 3.消息分发
    • 4.延迟通知
  • 三.RabbitMQ安装(Ubuntu)
    • 1.先安装Erlang
    • 2.安装RabbitMQ
    • 3.安装RabbitMQ的管理界面
    • 4.创建虚拟机
    • 5.端口号信息
  • 四.工作原理图

一.RabbitMQ介绍

RabbitMQ 是一款开源的 消息中间件(Message Broker),遵循 AMQP(Advanced Message Queuing Protocol) 协议标准,专为分布式系统提供高效、可靠的消息通信机制。它通过解耦生产者和消费者、异步处理、流量削峰等能力,成为构建复杂企业级应用的核心组件之一。

RabbitMQ通常用于通信系统通信,系统通信又分为两种:

  • 同步通信:直接调用对方的服务,数据从一端发出后立即就可以达到另一端。
    在这里插入图片描述

  • 异步通信:数据从一端发出后,先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端(容器的一个具体实现就是MQ)在这里插入图片描述

二.RabbitMQ的作用

MQ主要工作是接受并转发消息,在不同的应用场景下,可以展现不同的作用。

1.异步解耦

异步:生产者(发送消息的一方)和消费者(接收消息的一方)无需在同一时间点进行交互。生产者发送消息后即可继续执行后续逻辑,无需等待消费者处理完成。

解耦:生产者和消费者之间不直接依赖对方的接口或状态,而是通过消息队列间接通信。双方只需遵循消息协议,无需了解彼此的实现细节。

简单的举个栗子:
用户进行注册操作时,在这里分成3个步骤,第1个步骤是用户的信息校验,第2个步骤插入数据库,第3个步骤发送邮件。此时前两步已经完成了用户注册操作了,此时第三步就能够解耦出来,将第3步发送给MQ,再让MQ 将信息转发给用户的邮箱。

理解:
用户在前两步已经完成注册了,无论邮件是否能够到达用户的邮箱其实都不太重要,重要的是将用户注册的这个信息存入服务器的数据库当中。

2.流量削峰

流量削峰是 RabbitMQ 的核心应用场景之一,主要用于应对系统突发的高并发请求,避免后端服务因瞬时压力过大而崩溃。其核心思想是通过消息队列暂存请求,让后端服务按照自身处理能力逐步消费。

简单的举个栗子:
当在抢火车票时,点击火车票后提交订单,此时会出现正在排队中请勿退出界面这种弹窗,这种排队就是在使用流量削峰的功能。

3.消息分发

消息分发是 RabbitMQ 的核心能力,它决定了消息如何从生产者传递到消费者。其核心逻辑是:生产者将消息发送到交换机(Exchange),交换机根据规则(路由键、绑定关系)将消息路由到队列,消费者从队列中获取消息。

简单的举个栗子:
用户下了一个订单之后,平台需要向商家发送一个信息,也需要向平台的财部门发送信息,此时不使用MQ的消息分发就只能通过分别调用两个接口来进行消息的通知,并且还可能会涉及到轮询数据库的操作。

4.延迟通知

延迟通知是 RabbitMQ 中实现 定时任务 或 延迟触发业务逻辑 的核心功能,例如订单超时未支付自动取消、提醒消息延迟发送等。由于 RabbitMQ 本身不直接支持延迟队列,需通过 插件 或 死信队列(DLX) 间接实现。

简单举个栗子:
电商平台,用户下了订单之后,如果此时并没有对这个订单进行支付,此时就会有一个时间限制,如果超过这个时间限制,用户还没有对这个订单进行付款,此时这个订单就会自动取消。

三.RabbitMQ安装(Ubuntu)

1.先安装Erlang

首先先进行资源包的更新:sudo apt-get update

安装erlang的语言:sudo apt-get install erlang

检查erlang是否安装成功:erl

如果出现这个就是安装成功,并且通过 halt(). 进行退出,注意是有一个小点在这里插入图片描述

2.安装RabbitMQ

安装RabbitMQ命令:sudo apt-get install rabbitmq-server

确认安装结果的命令:systemctl status rabbitmq-server
在这里插入图片描述

3.安装RabbitMQ的管理界面

安装管理界面的命令 rabbitmq-plugins enable rabbitmq_management

若服务器未启动,则启动命令 sudo service rabbitmq-server start

通过IP和port进行访问 公网IP + 15672进行访问,如果不行需要在云服务器上加安全组开放端口:在这里插入图片描述

rabbitmq从3.3.0开始禁⽌使⽤guest/guest权限通过除localhost外的访问
在这里插入图片描述

添加管理员用户:

rabbitmqctl add_user ${账号} ${密码}

rabbitmqctl add_user admin(账号) admin(密码)

在这里插入图片描述

给用户添加权限:

rabbitmqctl set_user_tags ${账号} ${⻆⾊名称}

rabbitmqctl set_user_tags admin administrator
在这里插入图片描述

权限:
1.Administrator超级管理员,可登陆管理控制台(启⽤managementplugin的情况下),可查看所有的信息,并且可以对⽤⼾,策略(policy)进⾏操作
2. Monitoring监控者,可登陆管理控制台(启⽤managementplugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使⽤情况,磁盘使⽤情况等)。
3. Policymaker策略制定者,可登陆管理控制台(启⽤managementplugin的情况下),同时可以对policy进⾏管理。但⽆法查看节点的相关信息.
4. Management普通管理者,仅可登陆管理控制台(启⽤managementplugin的情况下),⽆法看到节点信息,也⽆法对策略进⾏管理.
5. Impersonator模拟者,⽆法登录管理控制台。
6. None其他⽤⼾,⽆法登陆管理控制台,通常就是普通的⽣产者和消费者。

登录后的界面:
在这里插入图片描述

红色区域是可以点击来修改当前账号的管理权限等信息:
在这里插入图片描述

Add User则是可以添加新的账号和密码
在这里插入图片描述

4.创建虚拟机

在这里插入图片描述
进行添加一个新的虚拟机:在这里插入图片描述
当前登录的用户是哪个,这个虚拟机的权限就是哪个用户的,通过点击Name可以进行删除:
在这里插入图片描述
在这里插入图片描述

可以通过用户来进行设置虚拟机权限:
在这里插入图片描述

在这里插入图片描述
或者通过虚拟机进行设置用户权限,clear是情况用户权限:在这里插入图片描述

5.端口号信息

amqp 5672:客户端和服务器建立连接的端口号

Http 15672:管理界面的端口号

clustering 25672:集群使用的端口号

在这里插入图片描述

四.工作原理图

producer : 生产者(客户端)

consumer: 消费者(客户端)

中间的都是RabbitMQ的服务器

生产者和消费者通过Connection和RabbitMQ服务器进行连接。
在这里插入图片描述

一个Connection有多个Channel,一个Broker可以有多个虚拟机,Exchange是交换机,Queue是队列。

生产者将消息发送给Exchange(交换机),而不会直接发送给Queue(队列)。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com