消息中间件系列教程(04) -RabbitMQ -简介&安装

1. 简介

RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco 、Redhat、iMatix 等联合制定了 AMQP 的公开标准。

RabbitMQ是由RabbitMQ Technologies Ltd开发并且提供商业支持的。该公司在2010年4月被SpringSource(VMWare的一个部门)收购。在2013年5月被并入Pivotal。其实VMWare,Pivotal和EMC本质上是一家的。不同的是VMWare是独立上市子公司,而Pivotal是整合了EMC的某些资源,现在并没有上市。

RabbitMQ官网:http://www.rabbitmq.com
AMQP协议介绍:https://baike.baidu.com/item/AMQP/8354716?fr=aladdin
消息中间件系列教程(04) -RabbitMQ -简介&安装
注意:RabbitMQ是采用erlang语言开发的,所以必须有erlang环境才可以运行。

Erlang编程语言最初目的是进行大型电信交换设备的软件开发,是一种适用于大规模并行处理环境的高可靠性编程语言。随着多核处理器技术的日渐普及,以及互联网、云计算等技术的发展,该语言的应用范围也有逐渐扩大之势。

Erlang— 初衷理念实现抗高并发语言

百度百科介绍:https://baike.baidu.com/item/Erlang%E8%AF%AD%E8%A8%80/20864044?fr=aladdin

2. 几种主流MQ的对比

ActiveMQ RabbitMQ Kafka
优点 遵循JMS规范,安装方便 集成Erlang天生的并发性,最初用于金融行业,稳定性和安全性有保障 依赖Zookeeper,可动态扩展节点,高性能、高吞吐量、无限扩容、消息可指定追溯
缺点 有可能会丢失消息。现在的中心是下一代产品apollo上,所以5.x的产品不怎么维护了 Erlang语言难度较大,不支持动态扩展 严格的顺序机制,不支持消息优先级,不支持标准的消息协议,不利于平台迁移
支持协议 AMQP,OpenWire,Stomp,XMPP AMQP
应用 适用于中小企业,不适合千个队列的应用 适合对稳定性要求高的企业及应用 应用在大数据日志处理或对实时性,可靠性(少量数据丢失)要求比较低的场景应用

3. RabbitMQ的安装

安装RabbitMQ有两个主要步骤:

  1. 安装Erlang语言
  2. Scot(Rabbit环境需要Scot)
  3. 安装Rabbit

Linux下参考:《在linux下安装配置rabbitMQ详细教程》
Mac下参考:《MacOS下安装RabbitMQ》
Windows下参考:《Windows 下安装RabbitMQ服务器及基本配置》

我的系统是MacOS,安装界面如下:
消息中间件系列教程(04) -RabbitMQ -简介&安装
安装成功后:
消息中间件系列教程(04) -RabbitMQ -简介&安装
进入rabbitmq的安装目录:

/usr/local/Cellar/rabbitmq/3.8.2/sbin

启动RabbitMQ:

 ./rabbitmq-server

启动成功后,浏览器输入(账号密码都是guest):http://localhost:15672
消息中间件系列教程(04) -RabbitMQ -简介&安装

附录(Mac下RabbitMQ相关的命令):

1.安装

shell brew install rabbitmq 

2.启动及关闭RabbitMQ服务(进入安装目录的sbin目录后操作)

  • 2.1前台启动
shell sudo ./rabbitmq-server     

shell sudo /usr/local/Cellar/rabbitmq/3.7.7_1/sbin/rabbitmq-server-detacted 
  • 2.2 后台启动:
shell sudo ./rabbitmq-server -detached

3.后台关闭

shell sudo ./rabbitmqctl stop 
上一篇:CSS属性总结——思路很清晰


下一篇:实验二 简易版C语言文法