首页 > 系统相关 >RabbitMQ入门(Windows)

RabbitMQ入门(Windows)

时间:2023-04-07 16:37:12浏览次数:47  
标签:入门 Windows 系统 RabbitMQ 队列 MQ 消息 安装

一、MQ概述

MQ全称 Message Queue(消息队列),在消息队列中,通常有生产者和消费者两个角色。生产者只负责发送数据到消息队列,谁从消息队列中取出数据处理,他不管。消费者只负责从消息队列中取出数据处理,他不管这是谁发送的数据

  • MQ,消息队列,存储消息的中间件
  • 分布式系统通信两种方式:直接远程调用 和 借助第三方 完成间接通信
  • 发送方称为生产者,接收方称为消费者

二、MQ的优势和劣势

优势:

  • 应用解耦

    如图所示。假设有系统B、C、D都需要系统A的数据,于是系统A调用三个方法发送数据到B、C、D。这时,系统D不需要了,那就需要在系统A把相关的代码删掉。假设这时有个新的系统E需要数据,这时系统A又要增加调用系统E的代码。为了降低这种强耦合,就可以使用MQ,系统A只需要把数据发送到MQ,其他系统如果需要数据,则从MQ中获取即可

    img

  • 异步提速

    如图所示。一个客户端请求发送进来,系统A会调用系统B、C、D三个系统,同步请求的话,响应时间就是系统A、B、C、D的总和,也就是800ms。如果使用MQ,系统A发送数据到MQ,然后就可以返回响应给客户端,不需要再等待系统B、C、D的响应,可以大大地提高性能。对于一些非必要的业务,比如发送短信,发送邮件等等,就可以采用MQ。

    img

  • 削峰填谷

    如图所示。这其实是MQ一个很重要的应用。假设系统A在某一段时间请求数暴增,有5000个请求发送过来,系统A这时就会发送5000条SQL进入MySQL进行执行,MySQL对于如此庞大的请求当然处理不过来,MySQL就会崩溃,导致系统瘫痪。如果使用MQ,系统A不再是直接发送SQL到数据库,而是把数据发送到MQ,MQ短时间积压数据是可以接受的,然后由消费者每次拉取2000条进行处理,防止在请求峰值时期大量的请求直接发送到MySQL导致系统崩溃

    img

劣势:

  • 系统可用性降低

    系统引入的外部依赖越多,系统稳定性越差。一旦 MQ 宕机,就会对业务造成影响。

  • 系统复杂度提高

    MQ 的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过 MQ 进行异步调用。如何保证消息没有被重复消费?怎么处理消息丢失情况?那么保证消息传递的顺序性?

  • 一致性问题

    A 系统处理完业务,通过 MQ 给B、C、D三个系统发消息数据,如果 B 系统、C 系统处理成功,D 系统处理失败。如何保证消息数据处理的一致性?


三、RabbitMQ的特点

RabbitMQ是一款使用Erlang语言开发的,实现AMQP(高级消息队列协议)的开源消息中间件。首先要知道一些RabbitMQ的特点,官网可查:

  • 可靠性。支持持久化,传输确认,发布确认等保证了MQ的可靠性。
  • 灵活的分发消息策略。这应该是RabbitMQ的一大特点。在消息进入MQ前由Exchange(交换机)进行路由消息。分发消息策略有:简单模式、工作队列模式、发布订阅模式、路由模式、通配符模式。
  • 支持集群。多台RabbitMQ服务器可以组成一个集群,形成一个逻辑Broker。
  • 多种协议。RabbitMQ支持多种消息队列协议,比如 STOMP、MQTT 等等。
  • 支持多种语言客户端。RabbitMQ几乎支持所有常用编程语言,包括 Java、.NET、Ruby 等等。
  • 可视化管理界面。RabbitMQ提供了一个易用的用户界面,使得用户可以监控和管理消息 Broker。
  • 插件机制。RabbitMQ提供了许多插件,可以通过插件进行扩展,也可以编写自己的插件。

四、安装RabbitMQ

1.安装erLang语言,官网链接


双击安装,可以选择安装路径,不然就一路点下一步完成安装

imgimg

img

使用CMD命令: erl -version 验证安装

2.安装RabbitMQ客户端,官网链接

​ 选择需要的版本

双击安装,可以选择安装路径,不然就一路下一步完成安装

找到安装目录的sin下,打开cmd控制台,输入rabbitmq-plugins enable rabbitmq_management命令安装管理页面的插件

img

五、启动RabbitMQ

1.启动服务

双击安装目录sbin文件夹下的rabbitmq-server.bat启动脚本

2.进入控制台

打开浏览器输入http://localhost:15672,账号密码默认是:guest/guest

img

成功跳转界面就ok了

标签:入门,Windows,系统,RabbitMQ,队列,MQ,消息,安装
From: https://www.cnblogs.com/forever0406/p/17296584.html

相关文章

  • SpringBoot2核心技术篇(自动配置原理入门[二])
    自动配置原理入门3.1引导加载自动配置类@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters={@Filter(type=FilterType.CUSTOM,classes={TypeExcludeFilter.class}),@Filter(type=FilterType.CUSTOM,classes=......
  • 逆向 | windows TLS回调
    逆向|windowsTLS回调之前逆向的时候偶尔会碰到tls回调,但是没有自己实现过,今天想着实现一下。参考的代码来自逆向工程核心原理。代码如下:#include<windows.h>#pragmacomment(linker,"/INCLUDE:__tls_used")voidprint_console(char*msg){ HANDLEhStdout=GetS......
  • Centos 7 安装 rabbitmq
    1.配置yum下载源:yuminstallepel-release-y2.下载rabbitmq:yuminstallrabbitmq-server-y3.配置webui网页插件(网页登陆端口号:15672)rabbitmq-pluginsenablerabbitmq_management4.启动rabbitmq-serversystemctlstartrabbitmq-server5.查看RabbitMq运行状态:......
  • Windows 短文件名相关 - IIS短文件名泄露
    今天接网安通告,说服务器有IIS短文件名泄露。可这短文件名是什么?拿完通告后回来一通查了个遍终于看明白了。先说短文件名是什么资料传说很久很久以前windows的文件名不能超过8个文件名和3个扩展名,也就是12345678.123就是最大长度了。但是到了windows95的时候,这个长度被扩展到......
  • Linux和Windows操作系统作为服务器之间的对比
     Linux比Windows操作系统更适合服务器= 开源免费:Linux是一个开放源代码操作系统,而WindowsServer是一个专有操作系统,属于商业操作系统,费用比较高。安全性:Linux在安全方面比WindowsServer更强大,这是因为它是开放源代码的,拥有更多的安全功能和选项,也因为它在全球范围内广泛使用,能......
  • Azure OpenAI入门(一):创建Azure OpenAI服务与模型
    1.    打开Powershell,输入azlogin登录到Azure订阅。需要先安装AzureCLI,如果没安装请在https://learn.microsoft.com/zh-cn/cli/azure/?view=azure-cli-latest完成安装。 2.    用如下命令选择Azure订阅azaccountset--subscription <yoursubscriptionname>3. ......
  • 题目 1031: [编程入门]自定义函数之字符串反转
    在主函数中输入一个字符串(不包含空格),写一个新函数将字符串按反序存放,并在主函数中输出反序后的字符串gets()能把字符串写入数组里,我只需要再写一个新数组,把array数组的最后一个元素赋值给新数组的第一个元素,把array的倒数第二个赋值给新数组的第二个……这样一个一个赋值,万一阿......
  • 题目 1030: [编程入门]二维数组的转置
    题目描述写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。输入格式一个3x3的矩阵输出格式无样例输入复制123456789样例输出复制147258369解题思路:声明两个数组a[3][3],b[3][3],后者存放转置后的元素。先用for循环嵌套输入a数......
  • 正则表达式入门
    常用元字符代码/语法说明示例表达式示例.匹配除换行符以外的任意字符hi.him:成功.*匹配除换行符以外的任意字符,任意字符数量hi.*him:成功\b匹配单词的开始或结束,按单词全字匹配\dhi\dhi,lucy:成功,him:失败\d   匹配数字\d \s匹配任意......
  • frp内网穿透,linux服务器,windows客户端
    一、配置前准备1、下载frp,可以从github上下载下载地址:https://github.com/fatedier/frp/releases2、服务器端(点击名称下载)frp_0.48.0_linux_amd64.tar.gz3、客户端(点击名称下载)frp_0.48.0_windows_amd64.zip 二、将下载的frp文件,上传至linux服务器#进入指定文件夹cd/......