rabbit mq研究(一)

本文介绍了RabbitMQ在开源MQ中的优势,如支持持久化和崩溃恢复,并详细阐述了其基于AMQP协议的虚拟机、交换机、队列和绑定等核心概念。通过实例讲解了安装Erlang和RabbitMQ的过程,以及创建虚拟机、用户和权限设置。同时,提到了客户端连接MQ的初步尝试,但更复杂的特性还未探索。

1、主流开源mq比较

      memcacheq:新浪开源mq,应用和资料较少

      activemq:apache的mq项目,据说会丢消息

      zeromq:不支持持久化

      rabbitmq:支持持久化、支持崩溃恢复


2、rabbitmq基于AMQP协议实现

      有虚拟机、交换机、队列、绑定四个主要对象

      虚拟机主要用于和用户配合控制访问权限

      交换机负责将请求根据key转发到对应的队列

      队列就是实际使用的队列

      绑定是队列、路由key的关系

      

      交换机有几种模式

      fanout广播模式,所有队列都收到消息

      direct,根据路由key找到对应的队列

      topic,根据正则找对应的队列

   

      默认队列不支持持久化,需要单独配置   


3、安装erlang(rabbit mq使用erlang语言开发,好像阿里定制的mysql也用到了erlang)

      在erlang官网上没有找到redhat的rpm包,下载源代码包,地址:https://www.erlang-solutions.com/downloads/download-erlang-otp,选择source标签页。

      将tar包上传到linux

      tar  xzvf  otp_src_R16B03.tar.gz

      进入解压缩目录,后依次执行:

      ./configure --prefix=/export/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac 

      可能遇到问题,比如:checking for tgetent in -lncurses... no
      需要安装ncurses,redhat可以使用yum安装,yum install ncurses-devel(建议安装linux时选择默认安装全部开发工具,避免安装其他软件时缺库缺包)

      make

      make install

      vi /etc/profile设置ERLANG_HOME为安装目录,设置PATH

      source /etc/profile


4、安装rabbit mq,登陆官网下载bin包,解压缩直接使用      


5、进入rabbit mq安装目录sbin目录,执行

      ./rabbitmq-server启动mq


6、建立虚拟机、用户、给用户授权

      查看虚拟机列表

     ./rabbitmqctl list_vhosts

      增加虚拟机

      ./rabbitmqctl add_vhost ewallet

      删除虚拟机

      ./rabbitmqctl delete_vhost ewallet

      查看用户列表

      ./rabbitmqctl list_users

      增加用户和密码

      ./rabbitmqctl add_user zhangyan 123456

      给用户授虚拟机权限

      ./rabbitmqctl set_permissions -p ewallet zhangyan ".*" ".*" ".*"


7、写客户端代码连接mq测试点击打开链接


8、其他较复杂功能尚未尝试



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值