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

被折叠的 条评论
为什么被折叠?



