RabbitMQ安装教程

首先介绍一下各种MQ的区别

1.RabbitMQ

RabbitMQ是使用Erlang编写的一个开源的消息队列,自己支持不少的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的很是重量级,更适合于企业级的开发。同时实现了一个经纪人(Broker)构架,这意味着消息在发送给客户端时先在中心队列排队。对路由(Routing),负载均衡(Load balance)或者数据持久化都有很好的支持。java

2.Redis

Redis是一个Key-Value的NoSQL数据库,开发维护很活跃,虽然它是一个Key-Value数据库存储系统,但它自己支持MQ功能,因此彻底能够当作一个轻量级的队列服务来使用。对于RabbitMQ和Redis的入队和出队操做,各执行100万次,每10万次记录一次执行时间。测试数据分为128Bytes、512Bytes、1K和10K四个不一样大小的数据。实验代表:入队时,当数据比较小时Redis的性能要高于RabbitMQ,而若是数据大小超过了10K,Redis则慢的没法忍受;出队时,不管数据大小,Redis都表现出很是好的性能,而RabbitMQ的出队性能则远低于Redis。python

3.ZeroMQ

ZeroMQ号称最快的消息队列系统,尤为针对大吞吐量的需求场景。ZMQ可以实现RabbitMQ不擅长的高级/复杂的队列,可是开发人员须要本身组合多种技术框架,技术上的复杂度是对这MQ可以应用成功的挑战。ZeroMQ具备一个独特的非中间件的模式,你不须要安装和运行一个消息服务器或中间件,由于你的应用程序将扮演了这个服务角色。你只须要简单的引用ZeroMQ程序库,可使用NuGet安装,而后你就能够愉快的在应用程序之间发送消息了。可是ZeroMQ仅提供非持久性的队列,也就是说若是down机,数据将会丢失。其中,Twitter的Storm中使用ZeroMQ做为数据流的传输。linux

4.ActiveMQ

ActiveMQ是Apache下的一个子项目。 相似于ZeroMQ,它可以以代理人和点对点的技术实现队列。同时相似于RabbitMQ,它少许代码就能够高效地实现高级应用场景。RabbitMQ、ZeroMQ、ActiveMQ均支持经常使用的多种语言客户端 C++、Java、.Net,、Python、 Php、 Ruby等。nginx

5.Jafka/Kafka

Kafka是Apache下的一个子项目,是一个高性能跨语言分布式Publish/Subscribe消息队列系统,而Jafka是在Kafka之上孵化而来的,即Kafka的一个升级版。具备如下特性:快速持久化,能够在O(1)的系统开销下进行消息持久化;高吞吐,在一台普通的服务器上既能够达到10W/s的吞吐速率;彻底的分布式系统,Broker、Producer、Consumer都原生自动支持分布式,自动实现复杂均衡;支持Hadoop数据并行加载,对于像Hadoop的同样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka经过Hadoop的并行加载机制来统一了在线和离线的消息处理,这一点也是本课题所研究系统所看重的。Apache Kafka相对于ActiveMQ是一个很是轻量级的消息系统,除了性能很是好以外,仍是一个工做良好的分布式系统。c++

RabbitMQ的安装(Linux)

1. 下载erlang安装包(http://www.erlang.org/downloads)数据库

linux下下载 **otpsrc20.1.tar.gz **便可json

2.下载rabbitmq安装包(http://www.rabbitmq.com/download.htmbash

咱们下载通用的安装包,点击 Generic Unix服务器

3.下载完成后将安装包上传至服务器并解压负载均衡

    安装erlang

    1.  安装依赖

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel

  2.  解压otpsrc20.1.tar.gz

tar vf otpsrc20.1.tar.gz

3.  安装编译erlang

cd otpsrc20.1 

./configure --prefix=/usr/local/erlang20 --without-javac

make 

make install

安装rabbitMQ

4.  安装依赖

yum install python -y 

yum install xmlto -y 

yum install python-simplejson -y 

yum install xmlto -y yum install python-simplejson -y

 5. 解压 rabbitMQ

6.  解压完成后将rabbitmq 移到/usr/local下

mv rabbitmq_server-3.7.7 /usr/local/rabbitmq

7. 启动rabbitMQ 

cd /usr/local/rabbitmq 

./rabbitmq-server
相关文章
相关标签/搜索