消息中间件:RabbitMQ基本探索
RabbitMQ是一个基于AMQP协议(Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制)用Erlang实现的高性能,高扩展,高可用的消息服务框架。
1.安装:介绍关于centeros上安装
1)确保安装:GCC GCC-C++ Openssl依赖(源码安装方式需要编译所以需要他们)
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel 再安装ncurses模块
yum install ncurses-devel |
2)安装Erlang:
wget http://www.erlang.org/download/otp_src_R16B02.tar.gz tar -xzvf otp_src_R16B02.tar.gz cd otp_src_R16B02 ./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac make && make install 配置一下环境: ln -s /usr/local/bin/erl /usr/bin/erl vi /etc/profile ERL_HOME=/usr/local/erlang export PATH=$PATH:$ERL_HOME/bin 命令行输入:erl
|
3) 安装RabbitMQ:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6.tar.xz 可能需要依赖:yum -y install xmlto tar -xzvf rabbitmq-server-3.6.6.tar.xz make make install TARGET_DIR=/opt/mq/rabbitmq SBIN_DIR= /opt/mq/rabbitmq/sbin MAN_DIR=/opt/mq/rabbitmq/man //将rabbitmq编译到/opt/mq/rabbitmq目录 |
4)配置web管理插件:
#cd /opt/mq/rabbitmq/sbin // 进入你编译安装后的目录 #mkdir /etc/rabbitmq/ #rabbitmq-plugins enable rabbitmq_management #./rabbitmq-server start & # ps aux | grep rabbitmq //查看端口,默认就是5672
访问: http://127.0.0.1:15672/ |
2.为什么选择用RabbitMQ:
我们在选择某个框架或者服务的时候,很多时候会基于我们当前的业务,以及框架能提供给我们的解决方案做考虑:
~ 并发性:支持高并发,且内存耗用较少
~ 分布式:
~容错性 :Erlang内部建设有多种错误检测原语。我们可以通过这些原语来架设高容错性的系统。例如,一个进程可以监视其他进程的状态和活动,即使那些 被监控的进程处于其他节点。在分布式状态下,我们可以把系统配置成具有Fail-over功能的分布式系统。当有其他节点出错的时候,系统会把他的运行场景自动 快速的切换备份节点上。Erlang支持9个9的级别的故障率,一年只有几分钟的故障时间。
~软实时:Erlang是一个“软”实时系统(Soft Real Time),它可以提供毫秒级别的响应。
参考: http://blog.csdn.net/amuseme_lu/article/details/7074406