项目需求刚刚递交,新需求还没来。闲下来了,写写博客放松下。

===========华丽的分割线=================

最近在学习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。

  1. 通过http://www.erlang.org/downloads获取对应安装文件进行安装
  2. 增加环境变量ERLANG_HOME=D:\Program Files\erl9.3(这里的目录是我的安装目录,你要换成自己的目录)
  3. 修改环境变量Path,在原来的值后面加上“;%ERLANG_HOME%\bin”

安装完Erlang之后,我们就可以安装RabbitMQ了。

  1. http://www.rabbitmq.com/install-windows-manual.html下载安装包进行安装
  2. 增加环境变量RABBITMQ_HOEM=D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.5(这里的目录是我的安装目录,你要换成自己的目录)
  3. 修改环境变量Path,在原来的值后面加上“;%RABBITMQ_HOME%\sbin”

安装好之后,RabbitMQ就作为一个服务按照默认方式进行启动了

三、启动管理页面

我们可以通过Web进行管理RabbitMQ:

  1. 运行命令rabbitmq-plugins enable rabbitmq_management 开启Web管理插件
  2. 通过浏览器访问http://localhost:15672,并通过默认用户guest进行登录,密码也是guest,登录后的页面:页面中有我们前面提到的基本概念,比如channels/exchanges/queues等,可以逐个点进去看下详细情况。

    如果要添加新用户的话,点击Admin选项卡,进行添加,详细的不再叙述,相信大家一看就能懂。

就这样,RabbitMQ安装完毕。下一篇随笔将介绍下怎么通过Spring Boot整合RabbitMQ

RabbitMQ入门:认识并安装RabbitMQ(以Windows系统为例)的更多相关文章

  1. 认识并安装RabbitMQ(以Windows系统为例)

    一.初识RabbitMQ 百度百科有这么一句话: MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息, 而另一端则可以读取或者订阅队列中的消息. MQ和JMS类似,但不同的是JMS是 ...

  2. node.js安装和配置(windows系统)

    node.js安装和配置(windows系统) node javasript vscode  node是javascript的管理工具,所以开发javasript项目都要下载安装和配置node. 传送 ...

  3. RabbitMQ学习系列一安装RabbitMQ服务

    RabbitMQ学习系列一:windows下安装RabbitMQ服务 http://www.80iter.com/blog/1437026462550244 Rabbit MQ 是建立在强大的Erla ...

  4. 【rabbitmq】Centos7 下安装rabbitmq

    rabbitmq安装 rabbitmq的安装依赖erlang,首先应该先安装erlang,然后安装rabbitmq: Step1:安装erlang erlang-rpm安装教程 选择在Centos7 ...

  5. Node.js的安装与使用-Windows系统

    首先到官网下载node.js http://nodejs.cn 下载完成后一直下一步Next即可安装完成,路径可以自己设置 然后配置环境变量,将node安装的目录配置到Path中 例如: cmd打开命 ...

  6. PySpider安装与使用(Windows系统下)

    PySpider Begin 安装pip install pyspider 在windows系统好像会出现如下问题 Command "python setup.py egg_info&quo ...

  7. 无光驱在32位windows系统下安装64位windows系统

    位的系统. 大家都知道,32位的操作系统最多只能支持3.2G的内存,现在内存白菜价,很多人都在原有基础上购入新内存,这样最少也有4G了,为了让内存不浪费,我 们只有升级到64位操作系统.但是很多朋友又 ...

  8. Memcached 笔记与总结(3)安装 php-memcache(windows 系统下)

    在 windows 下安装 php-memcache,需要下载编译好的 memcached.dll. 要找到可用的 dll 文件,需要根据 php.ini 中的 3 个参数来选择 dll 文件: ① ...

  9. 安装Cnario提示.Net 3.5安装错误, 检查Windows系统更新提示无法检查到更新, 安装.Net 3.5提示"Windows无法完成请求的更改, 错误代码:0x800F081F"

    症状: Windows检查系统更新时提示无法完成, 尝试安装.Net 3.5等组件时都无法完成, 错误代码: 0x800F081F 原因: 可能时设置了禁止Windows自动更新, 需要重新打开 解决 ...

随机推荐

  1. 仿百度壁纸客户端(二)——主页自定义ViewPager广告定时轮播图

    仿百度壁纸客户端(二)--主页自定义ViewPager广告定时轮播图 百度壁纸系列 仿百度壁纸客户端(一)--主框架搭建,自定义Tab + ViewPager + Fragment 仿百度壁纸客户端( ...

  2. 【Visual C++】游戏编程学习笔记之四:透明动画实现

    本系列文章由@二货梦想家张程 所写,转载请注明出处. 本文章链接:http://blog.csdn.net/terence1212/article/details/44224963 作者:ZeeCod ...

  3. 基于Bresenham和DDA算法画线段

    直线:y=kx+b 为了将他在显示屏上显示出来,我们需要为相应的点赋值,那么考虑到计算机的乘法执行效率,我们肯定不会选择用Y=kx+b这个表达式求值,然后进行画线段. 我们应当是将它转化为加法运算. ...

  4. Hibernate之初体验

    在开始学Hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装.一句不难,难道是真的不难还是眼高手低? 如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎 ...

  5. LeetCode之旅(20)-Power of Three

    题目: Given an integer, write a function to determine if it is a power of three. Follow up: Could you ...

  6. 如何检测被锁住的Oracle存储过程

    今天遇到了这个情况,然后在网上找了到了这篇文章,借鉴过来做参考吧! 1.查看是哪一个存储过程被锁住 查V$DB_OBJECT_CACHE视图 select * from V$DB_OBJECT_CAC ...

  7. 数据准备<2>:数据质量检查-实战篇

    上一篇文章:<数据质量检查-理论篇>主要介绍了数据质量检查的基本思路与方法,本文作为补充,从Python实战角度,提供具体的实现方法. 承接上文,仍然从重复值检查.缺失值检查.数据倾斜问题 ...

  8. 《JUnit实战(第2版)》读书笔记

    第1章 JUnit起步 主要了解JUnit,如何安装.运行JUnit 要点 JUnit4不需要像JUnit3那样extends TestCase类 Junit4基本都是用注解(该书都翻译为注释,但我喜 ...

  9. linux_熟悉常用Linux命令

    man :任何时候你觉得对一个命令行不是很确定,都可以通过输入"man + 命令"来了解这个命令能确切是做什么的. ls :列出目录内容. pwd :在终端中显示当前工作目录的全路 ...

  10. javaScript(8)---对象和数组

    javaScript(8)---对象和数组 学习要点: 1.Object类型 2.Array类型 3.对象中的方法 什么是对象,其实就是一种类型,即引用类型.而对象的值就是引用类型的实例.在ECMAS ...