vlambda博客
学习文章列表

一步步教你如何搭建ActiveMQ与RabbitMQ并使用

一、概述

消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有Producer(生产者)、Consumer(消费者)

常见的消息中间件产品:

(1)ActiveMQ

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。

(2)RabbitMQ

AMQP协议的领导实现,支持多种场景。淘宝的MySQL集群内部有使用它进行通讯,OpenStack开源云平台的通信组件,最先在金融行业得到运用。

(3)ZeroMQ

史上最快的消息队列系统

(4)Kafka

Apache下的一个子项目 。特点:高吞吐,在一台普通的服务器上既可以达到10W/s的吞吐速率;完全的分布式系统。适合处理海量数据。

Jms

JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

AMQP

AMQP是一种协议,更准确的说是一种binary wire-level protocol(链接协议)。这是其和JMS的本质差别,AMQP不从API层进行限定,而是直接定义网络交换的数据格式。这使得实现了AMQP的provider天然性就是跨平台的。意味着我们可以使用Java的AMQP provider,同时使用一个python的producer加一个rubby的consumer。从这一点看,AQMP可以用http来进行类比,不关心实现的语言,只要大家都按照相应的数据格式去发送报文请求,不同语言的client均可以和不同语言的server链接。

本篇主要介绍下ActiveMQ与RabbitMQ的安装配置及使用。

二、ActiveMQ

2.1 windows上ActiveMQ的安装

ActiveMq可以在ActiveMq官网 :http://activemq.apache.org/components/classic/download/ 下载并安装。

选择需要的版本,下载完成后,解压文件(window下用winrar/其他解压工具,linux下tar命令)并进入文件夹的bin目录下:

如图所示:

一步步教你如何搭建ActiveMQ与RabbitMQ并使用
activeMq目录结构

windows下可以在powershell下用:

./activemq start 或者./activemq.bat start

在cmd下只能用:

activemq.bat start

2.2 Linux上ActiveMQ的安装

ActiveMq可以在ActiveMq官网 下载并安装。

比如下载linux版本5.15.9:

http://mirror.bit.edu.cn/apache//activemq/5.15.9/apache-activemq-5.15.9-bin.tar.gz

下载后解压:

tar -xvf apache-activemq-5.15.9-bin.tar.gz

cd apache-activemq-5.15.9/bin

启动:

./activemq start

2.3 修改Admin用户名密码

在ActiveMQ的conf目录下,找到:
jetty-realm.properties。

jetty-realm.properties文件默认存储:

admin: admin, admin
user: user, user

规则为

username: password [,rolename …]

修改为:

cff: 123, admin
user: user, user

这样可以用cff/123登录了。

2.4 启动后界面

启动后浏览器输入 http://127.0.0.1:8161/ 如图所示:

一步步教你如何搭建ActiveMQ与RabbitMQ并使用
activeMq界面

点击 Manage ActiveMQ broker 跳转到 http://127.0.0.1:8161/admin/; 可以在里面查看消息队列等信息及统计。

一步步教你如何搭建ActiveMQ与RabbitMQ并使用
activeMq管理控制台

三、RabbitMQ

3.1 Windows上RabbitMQ的安装部署

3.1.1 安装RabbitMQ Server

RabbitMQ可以在RabbitMQ官网 下载并安装。

这里只说windows的安装过程:

  • 2.安装完erlang,然后安装RabbitMQ,安装过程没有任何需要注意的,就是一路往下。

  • 3.RabbitMQ安装完成后。找到RabbitMQ的路径:

比如我的windows10会出现这个:

一步步教你如何搭建ActiveMQ与RabbitMQ并使用
RabbitMq win10位置

然后我点击RabbitMQ Service - start:

一步步教你如何搭建ActiveMQ与RabbitMQ并使用
RabbitMq  启动

然后RabbitMQ就在5672端口监听消息了。

3.1.2 开启RabbitMQ Manager

开启Manager:

为了启动管理服务,能够查看RabbitMQ的界面,我们需要打开RabbitMQ Command Prompt命令行,然后切换到RabbitMQ安装目录下的sbin目录,输入命令rabbitmq-plugins.bat enable rabbitmq_management:

一步步教你如何搭建ActiveMQ与RabbitMQ并使用
RabbitMq   Manager

这里不建议自己启动命令提示符,或者使用powershell,因为会出现ERLANG_HOME not set correctly.错误。

添加用户:

打开RabbitMQ Command Prompt命令行,然后切换到RabbitMQ安装目录下的sbin目录,输入下面命令:

# 添加用户pomit,密码123456
rabbitmqctl.bat add_user pomit 123456

# 赋予用户pomit管理员角色
rabbitmqctl.bat set_user_tags pomit administrator

3.2 Linux上RabbitMQ的安装部署

3.2.1 安装RabbitMQ Server

网上有很多教程,不过我还是觉得这个写得好:原文

这个里面写了很多方法,但是经过试验,还是使用脚本安装省心,还不会出错。

安装erlang和rabbitmq-server:

使用脚本安装方法:

#创建erlang.repo库
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
#安装
yum install erlang

#创建rabbitmq-server.repo库
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
#安装
yum install rabbitmq-server

如果是root安装,sudo可以去掉。

注意:这些命令都执行完成后,还是可能有问题。比如在yum install rabbitmq-server的过程中,可能会出现:

Package: rabbitmq-server-3.7.16-1.el6.noarch (rabbitmq_rabbitmq-server) Requires: socat

这时候就要再安装socat:

wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/socat-1.7.2.4-1.el6.rf.x86_64.rpm

yum install socat-1.7.2.4-1.el6.rf.x86_64.rpm

#安装完成之后,重新安装rabbitmq-server
yum install rabbitmq-server

启动rabbitmq-server:service rabbitmq-server start

这时RabbitMQ就在5672端口监听消息了。

3.2.2 开启RabbitMQ Manager

输入命令:

rabbitmq-plugins enable rabbitmq_management

新建用户:
如果这时候浏览器输入http://127.0.0.1:15672/进行访问的话,使用guest/guest是登录不上的,因为guest用户不允许远程登录,所以需要新建一个用户,并加入到administrator角色中,然后浏览器就可以使用新建的用户登录了:

# 添加用户pomit,密码123456
rabbitmqctl add_user pomit 123456

# 赋予用户pomit管理员角色
rabbitmqctl set_user_tags pomit administrator

3.3 界面登录

浏览器输入http://127.0.0.1:15672/进行访问:

RabbitMq界面

使用默认账号登录:guest/guest

RabbitMq界面详情


到这里,安装工作已经算是告一段落了,可以点击左下方的【阅读原文】查看完整的关于ActiveMQ与RabbitMQ的安装配置及使用方式!

欢迎在评论区留下你的观点,一起讨论提高。

如果今天的文章让你有新的启发,或者在学习能力的提升上有新的认识,欢迎转发分享给更多人。


欢迎各位读者加入品茗IT技术群聊,群号:801159061