RabbitMQ系列一介绍与安装

什么是MQ

MQ就是Message Queue,也就是消息队列,是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信。消息队列的目的就是实现应用的异步和解耦。现在成熟的MQ有很多种,比如Apache的ActiveMQ、阿里的RocketMQ(已经捐献给了Apache)、Kafka、RabbitMQ。

MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,离创建互操作能力还差很远,而MQ则是遵循了AMQP协议的具体实现和产品。

什么是AMQP

AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。与JMS不同,AMQP是一个Wire级的协议,它描述了在网络上传输的数据的格式,以字节为流。因为任何遵守此数据格式的工具,其创建和解释消息,都能与其它兼容工具进行互相操作。

什么是JMS

JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。

JMS本身只定义了一系列的接口规范,是一种与厂商无关的 API,用来访问消息收发系统。它类似于 JDBC(Java Database Connectivity):这里,JDBC 是可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商目前都支持 JMS,包括 IBM 的 MQSeries、BEA的 Weblogic JMS service和 Progress 的 SonicMQ,这只是几个例子。 JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JML 客户机发送消息。消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载 的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本 (TextMessage)、可序列化的对象 (ObjectMessage)、属性集合 (MapMessage)、字节流 (BytesMessage)、原始值流 (StreamMessage),还有无有效负载的消息 (Message)。

为什么选择RabbitMQ

  • 除了Qpid,RabbitMQ是唯一一个实现了AMQP标准的消息服务器
  • 可靠性,RabbitMQ的持久化支持,保证了消息的稳定性
  • 高并发,RabbitMQ使用了Erlang开发语言,Erlang是为电话交换机开发的语言,天生自带高并发光环,和高可用特性 
  • 集群部署简单,正是应为Erlang使得RabbitMQ集群部署变的超级简单
  • 社区活跃度高,根据网上资料来看,RabbitMQ也是首选

Windows10安装RabbitMQ

第一步,安装Erlang。因为RabbitMQ是基于Erlang语言写的,所以必须先安装Erlang。

关于RabbitMQ对应的Erlang版本可以在http://www.rabbitmq.com/which-erlang.html查看。

下载地址:http://www.erlang.org/downloads,选择好自己的版本下载。

下载完双击开始安装,点Next就行。

扫描二维码关注公众号,回复: 3569546 查看本文章

选择一个自己想保存的地方,然后Next、Finish就可以。

第二步,配置环境变量。

此电脑-->鼠标右键属性-->高级系统设置-->环境变量-->新建系统环境变量。

变量名:ERLANG_HOME,变量值就是刚才erlang的安装地址,点击确定。

然后双击系统变量Path,点击新建,把%ERLANG_HOME%\bin加入进来,点击确定。

最后windows键+R键,输入cmd,再输入erl,看到版本号就说明erlang安装成功了。

第三步,下载RabbitMQ,下载地址:http://www.rabbitmq.com/download.html,如果Bintray下载不了尝试下面的GitHub。

双击下载后的.exe文件,安装过程与erlang的安装过程相同。

第四步,配置环境变量。

此电脑-->鼠标右键属性-->高级系统设置-->环境变量-->新建系统环境变量。

变量名:RABBITMQ_SERVER,变量值就是刚才RabbitMQ的安装地址,点击确定。

双击系统变量Path,点击新建,把%RABBITMQ_SERVER%\sbin加入进来,点击确定。

第五步,安装RabbitMQ-Plugins。以管理员身份打开命令行cmd,进入到RabbitMQ的sbin目录,输入rabbitmq-plugins enable rabbitmq_management命令进行安装。

第六步,运行RabbitMQ,打开sbin目录,双击rabbitmq-server.bat,如下所示就是启动成功了。

第七步,访问http://localhost:15672/控制台,默认用户名密码都是guest。

注意:访问Web控制台必须先开启Web访问,即第五步。

Windows下常用命令

rabbitmq启动方式有2种

1、以应用方式启动

cmd中使用rabbitmq-server -detached命令可以后台启动。

cmd中使用Rabbitmq-server命令或者运行sbin目录下的rabbitmq-server.bat 直接启动,如果你关闭窗口或者需要在改窗口使用其他命令时应用就会停止。

 关闭:rabbitmqctl stop

2、以服务方式启动(安装完之后在任务管理器中服务一栏能看到RabbtiMq)

rabbitmq-service install 安装服务

rabbitmq-service start 开始服务

Rabbitmq-service stop  停止服务

Rabbitmq-service enable 使服务有效

Rabbitmq-service disable 使服务无效

rabbitmq-service help 帮助

当rabbitmq-service install之后默认服务是enable的,如果这时设置服务为disable的话,rabbitmq-service start就会报错。

当rabbitmq-service start正常启动服务之后,使用disable是没有效果的

关闭:rabbitmqctl stop

3、Rabbitmq 管理插件启动,可视化界面

rabbitmq-plugins enable rabbitmq_management 启动

rabbitmq-plugins disable rabbitmq_management 关闭

 

猜你喜欢

转载自blog.csdn.net/WYA1993/article/details/82901278