RabbitMQ入门:认识并安装RabbitMQ(以Windows系统为例)
项目需求刚刚递交,新需求还没来。闲下来了,写写博客放松下。
===========华丽的分割线=================
最近在学习Spring Cloud,其中消息总线Spring Cloud Bus是必不可少的,但是Spring Cloud Bus目前只支持RabbitMQ和kafka,因此学习RabbitMQ势在必行,今天先从最基本的安装开始。安装之前我们先认识下RabbitMQ。
一、初识RabbitMQ
百度百科有这么一句话:
MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,
而另一端则可以读取或者订阅队列中的消息。
MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,
而MQ则是遵循了AMQP协议的具体实现和产品。
他的官网中用大大的黑粗字体写着:
RabbitMQ is the most widely deployed open source message broker.
由此可见,RabbitMQ是一个消息中间件,生产者生成消息,消费者消费消息,它遵循AMQP(高级消息队列协议),是最广泛部署的开源消息代理。
另外,RabbitMQ是用Erlang语言实现的,它有几个概念:
broker:消息队列服务器实体。
exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
queue:消息队列,每个消息都会被投入到一个或多个队列。
binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
routing Key:路由关键字,exchange根据这个关键字进行消息投递。
vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
producer:消息生产者,就是投递消息的程序。
consumer:消息消费者,就是接受消息的程序。
channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。
消息队列的使用过程大概如下:
()客户端连接到消息队列服务器broker,打开一个channel。
()客户端声明一个exchange,并设置相关属性。
()客户端声明一个queue,并设置相关属性。
()客户端使用routing key,在exchange和queue之间建立好绑定关系。
()客户端投递消息到exchange。
()exchange接收到消息后,就根据消息的key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。
二、安装RabbitMQ(以Windows为例)
由于RabbitMQ是用Erlang语言编写的,因此需要先安装Erlang。
- 通过http://www.erlang.org/downloads获取对应安装文件进行安装
- 增加环境变量ERLANG_HOME=D:\Program Files\erl9.3(这里的目录是我的安装目录,你要换成自己的目录)
- 修改环境变量Path,在原来的值后面加上“;%ERLANG_HOME%\bin”
安装完Erlang之后,我们就可以安装RabbitMQ了。
- 到http://www.rabbitmq.com/install-windows-manual.html下载安装包进行安装
- 增加环境变量RABBITMQ_HOEM=D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.5(这里的目录是我的安装目录,你要换成自己的目录)
- 修改环境变量Path,在原来的值后面加上“;%RABBITMQ_HOME%\sbin”
安装好之后,RabbitMQ就作为一个服务按照默认方式进行启动了
三、启动管理页面
我们可以通过Web进行管理RabbitMQ:
- 运行命令rabbitmq-plugins enable rabbitmq_management 开启Web管理插件
- 通过浏览器访问http://localhost:15672,并通过默认用户guest进行登录,密码也是guest,登录后的页面:页面中有我们前面提到的基本概念,比如channels/exchanges/queues等,可以逐个点进去看下详细情况。
如果要添加新用户的话,点击Admin选项卡,进行添加,详细的不再叙述,相信大家一看就能懂。
就这样,RabbitMQ安装完毕。下一篇随笔将介绍下怎么通过Spring Boot整合RabbitMQ。
RabbitMQ入门:认识并安装RabbitMQ(以Windows系统为例)的更多相关文章
- 认识并安装RabbitMQ(以Windows系统为例)
一.初识RabbitMQ 百度百科有这么一句话: MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息, 而另一端则可以读取或者订阅队列中的消息. MQ和JMS类似,但不同的是JMS是 ...
- node.js安装和配置(windows系统)
node.js安装和配置(windows系统) node javasript vscode node是javascript的管理工具,所以开发javasript项目都要下载安装和配置node. 传送 ...
- RabbitMQ学习系列一安装RabbitMQ服务
RabbitMQ学习系列一:windows下安装RabbitMQ服务 http://www.80iter.com/blog/1437026462550244 Rabbit MQ 是建立在强大的Erla ...
- 【rabbitmq】Centos7 下安装rabbitmq
rabbitmq安装 rabbitmq的安装依赖erlang,首先应该先安装erlang,然后安装rabbitmq: Step1:安装erlang erlang-rpm安装教程 选择在Centos7 ...
- Node.js的安装与使用-Windows系统
首先到官网下载node.js http://nodejs.cn 下载完成后一直下一步Next即可安装完成,路径可以自己设置 然后配置环境变量,将node安装的目录配置到Path中 例如: cmd打开命 ...
- PySpider安装与使用(Windows系统下)
PySpider Begin 安装pip install pyspider 在windows系统好像会出现如下问题 Command "python setup.py egg_info&quo ...
- 无光驱在32位windows系统下安装64位windows系统
位的系统. 大家都知道,32位的操作系统最多只能支持3.2G的内存,现在内存白菜价,很多人都在原有基础上购入新内存,这样最少也有4G了,为了让内存不浪费,我 们只有升级到64位操作系统.但是很多朋友又 ...
- Memcached 笔记与总结(3)安装 php-memcache(windows 系统下)
在 windows 下安装 php-memcache,需要下载编译好的 memcached.dll. 要找到可用的 dll 文件,需要根据 php.ini 中的 3 个参数来选择 dll 文件: ① ...
- 安装Cnario提示.Net 3.5安装错误, 检查Windows系统更新提示无法检查到更新, 安装.Net 3.5提示"Windows无法完成请求的更改, 错误代码:0x800F081F"
症状: Windows检查系统更新时提示无法完成, 尝试安装.Net 3.5等组件时都无法完成, 错误代码: 0x800F081F 原因: 可能时设置了禁止Windows自动更新, 需要重新打开 解决 ...
随机推荐
- SpriteBuilder中关节的Breaking force属性
在SpriteBuilder中三种物理关节都包含Breaking force区域在属性框中. 该属性被设置成关节可以承受的压力临界值.如果关节的压力超出了Breaking force中设置的值,则关节 ...
- LeetCode之“字符串”:Valid Number(由此引发的对正则表达式的学习)
题目链接 题目要求: Validate if a given string is numeric. Some examples: "0" => true " 0.1 ...
- 芯片SIAT-002测试PCB板设计
这个板子,从原理图到PCB板,总共画了6天,接近一个星期!虽然说各种麻烦,但总算学到了一些新知识.谨记以备后查. 附注: 模拟地与数字地详解 单片机晶振电路 1. 走线规划 针对采用BGA封装及引脚数 ...
- Python和shell中Base64编码使用那些事
做开发第一个接触的编码方式就是Base64,当时是用url来传输一些参数,传输的两端会用Base64来编码和解码,保证数据不被url转义破坏. 下面是 维基百科 Base64 中的介绍,其实自己实现起 ...
- linux下D盘(适用于U盘、硬盘等一切移动存储设备)策略(比格式化猛,因为是不可恢复!)
关于这样的资料,在百度上还是比较少的,今天就共享出来,在电脑主机上插上你的U盘,输入以下命令: dd if=/dev/zero of=/dev/sdb bs=1024 count=102400 ...
- Activity之间传递大数据问题
Android开发人员都知道,Intent适用于在不同的Activity之间传递数据,包括参数.字符串.以及序列化的对象等.但是笔者所做的项目用到了使用Intent 传递Bitmap图片对象,图片的数 ...
- 一个你不能错过的第三方.net集合库
今天查找资料的时候,偶然发现了一个第三方的面向.net的集合类库,相比较FCL中的集合类,此第三方集合类库更全,最基本的Set数据结构在FCL里面是没有的,但是这个类库里面有,而且此类库的作者就是&l ...
- ASP.NET Core 2.0 : 九.从Windows发布到CentOS的跨平台部署
本文聊一下如何在Windows上用VS开发并发布, 然后将其部署到CentOS上.对于我们一些常在Windows上逛的来说,CentOS用起来还真有些麻烦.MSDN官方有篇文章大概讲了一下(链接),按 ...
- mysql Access denied for user \'root\'@\'localhost\'” 本人解决方案:
直接上图 昨天还是好的今天就不行了,密码是没错的,就是本地的连接不上,Linux上的mysql可以连, 网上找各种解决方案,什么权限,什么加一句话,还有这个 如果连这个都进不去那就直接重装吧,其实 ...
- java解析XML文件四种方法之引入源文件
1.DOM解析(官方) try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); Documen ...