当前位置: 首页 > news >正文

RabbitMQ学习系列(一):RabbitMQ的了解安装和使用

(一)概述

一般认为,消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。java中常用的消息中间件有ActiveMQ、RabbitMQ、Kafka等等。

消息中间件的作用主要有系统解耦、异步调用、流量削峰等等:

系统解耦:举个例子,系统A产生了一个数据,系统B需要这个数据,所以B要调用A。但是如果同时还有系统CDEFGH...也需要调用系统A,这个系统的耦合性就很强。此时就可以使用消息中间件。系统A将数据发送给消息中间件,然后其他系统去消息中间件中获取数据,实现解耦合。

异步调用:在很多时候应用不想也不需要立即处理消息,可以把消息先发送给消息中间件,但并不立即处理它,在之后需要的时候再慢慢处理

流量削峰:对于一个平常每秒只能处理几百个请求的系统,如果一次性发过来上千个请求就有可能使系统崩溃。因此可以使用消息中间件,将请求先发送到消息中间件中,再慢慢的发给系统去处理。

(二)RabbitMQ的安装和使用

以Window为例,进入RabbitMQ的官网找到下载页:https://www.rabbitmq.com/install-windows.html

发这篇博客时的最新版本是3.8.2,直接点击下载即可。由于Rabbitmq是由Erlang语言开发的,因此还需要下载Erlang环境https://www.erlang.org/downloads,我下载的是64位windows版本

接下来先安装Erlang,再安装Rabbitmq。

安装好了之后,通过命令行进入到RabbitMQ Server\rabbitmq_server-3.8.2\sbin目录下,用下面的命令启动RabbitMQ

rabbitmq-plugins enable rabbitmq_management

 在浏览器中输入http://localhost:15672/进入RabbitMQ的可视化界面,默认的用户名和密码都是guest,输入后进入主页:

(三)RabbitMQ的用户和vhost配置

我们给rabbitmq添加一个新的用户

添加成功后就能看到增加了一个新的用户

这里的virtual hosts其实是就是一个虚拟的消息服务器,可以设置用户对库和表等对象的操作权限。

我们来添加一个virtual hosts

添加成功后我们点击vhosts的名称,可以修改vhosts的相关配置,在这里设置vhosts的权限,添加user_sdxb对它的权限

以上就是RabbitMQ的安装和简单使用方法,对RabbitMQ的更多应用将在接下来的博客中讲解。

相关文章:

  • RabbitMQ学习系列(二):简单队列详解
  • spring学习笔记(4)依赖注入详解
  • RabbitMQ学习系列(三):工作队列详解
  • RabbitMQ学习系列(四):发布-订阅模型详解
  • Android进阶学习
  • RabbitMQ学习系列(五):routing路由模式和Topic主题模式
  • RabbitMQ学习系列(六):RabbitMQ消息确认机制
  • cisco 交换机自动备份配置
  • 应届毕业生因为疫情休息在家,可以通过哪些途径提高自己?
  • APP产品交互设计分析总结(不断更新中...)
  • 以SpringBoot作为后台实践ajax异步刷新
  • 观察:阿里的VR实验室能解决什么问题?
  • JavaIO详解--JavaIO的整体结构以及File类的使用
  • 学习笔记:对象,原型和继承(1)
  • JavaIO详解--快速学懂字节流与字符流
  • 4. 路由到控制器 - Laravel从零开始教程
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • download使用浅析
  • flask接收请求并推入栈
  • JavaScript HTML DOM
  • pdf文件如何在线转换为jpg图片
  • Selenium实战教程系列(二)---元素定位
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 订阅Forge Viewer所有的事件
  • 工程优化暨babel升级小记
  • ------- 计算机网络基础
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 自动记录MySQL慢查询快照脚本
  • 自制字幕遮挡器
  • 阿里云服务器购买完整流程
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #{}和${}的区别?
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (二)斐波那契Fabonacci函数
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)Sql Server 保留几位小数的两种做法
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)用.Net的File控件上传文件的解决方案
  • .bat批处理出现中文乱码的情况
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET微信公众号开发-2.0创建自定义菜单
  • /etc/fstab和/etc/mtab的区别
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [17]JAVAEE-HTTP协议