java---消息队列 RabbitMQ
Posted 不吐西瓜籽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java---消息队列 RabbitMQ相关的知识,希望对你有一定的参考价值。
RabbitMQ
1、安装依赖环境
在虚拟机上完成消息队列的安装和使用,虚拟机使用的是 WMware
,系统镜像使用的是 CentOS7
,使用其他的环境也可以,之间的步骤类似。
1.1、安装编译环境
通过 yum
指令在线安装 g++ 编译环境。
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make
gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz
1.2、安装语言环境
因为 RabbitMQ
使用 Erlang 语言进行开发,因此必须安装语言环境。
-
下载或上传对应的数据文件准备安装工作。
erlang-18.3-1.el7.centos.x86_64.rpm socat-1.7.3.2-5.el7.lux.x86_64.rpm rabbitmq-server-3.6.5-1.noarch.rpm
-
切换目录安装环境
# 安装 rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
1.3、踩坑注意点
如果出现如下错误:
-
依赖环境出错: 说明当前的
gblic
版本太低,需要更新到最新的版本。 -
首先查看当前的版本号:没啥用,知识单纯的看一下是不是版本较低
strings /lib64/libc.so.6 | grep GLIBC
-
然后对版本进行更新:至少是 2.15 的版本
-
使用
yum
安装更新依赖sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlitedevel readline-devel tk-devel gcc make -y
-
下载
rpm
包
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-utils-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-static-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/nscd-2.17-55.el6.x86_64.rpm
- 安装
rpm
包:对刚才下载的 2.17 的版本进行安装更新
sudo rpm -Uvh socat-1.7.3.2-1.1.el7.x86_64.rpm --force --nodeps
- 再次使用指令进行版本查看即可发现版本已经更新到了 2.17 版本了,在去进行语言环境的安装。
-
2、RabbitMQ 使用
2.1、安装 RabbitMQ
# 安装
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
2.2、修改默认的配置信息
-
打开
rabbit.app
文件,这是配置文件,可在其中修改密码配置等等。现在只需要将loopbask_users
中的<<'guest'>>
改成 guest 即可。vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
2.3、开启管理界面
RabbitMQ 可以通过 web 进行管理,因此需要打开管理界面。
rabbitmq-plugins enable rabbitmq_managerment
2.4、拷贝对应的配置文件
需要将 RabbitMQ
的配置文件放置在 /etc 来使配置生效,不然直接打开控制界面将会显示没有在 /etc/rabbitmq
目录下加载到配置文件 rabbitmq.config
。
cd /usr/share/doc/rabbitmq-server-3.6.5/
cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
3、管理界面的使用
3.1、用户角色
-
在所有的配置工作都完了之后开启服务。
systemctl restart rabbitmq_server
-
进入管理界面
访问
http://ip地址:15672
,进入管理控制台,默认提供一个用户来登陆,登陆后即可进入控制面板。username: guest password: guest
-
进入 admin 界面
都是些直观的窗口操作,这里就不在做叙述,不过需要注意用户身份标签 tag 的选择,在 3.3 会讲到。
3.2、添加虚拟空间
像 mysql
拥有数据库的概念并且可以指定⽤户对库和表等操作的权限一样,RabbitMQ
也有类似的权限管理; 在 RabbitMQ
中可以虚拟消息服务器 Virtual Host,每个 Virtual Hosts 相当于⼀个相对独⽴的 RabbitMQ
服务器,每个 Virtual Host 之间是相互隔离的。交换机、队列、消息不能互通,一般以 /name
进行定义。
- 进入 Virtual Host 管理界面
- 进行用户绑定
3.3、 用户标签说明
-
超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对⽤户,策略(policy)进⾏操作。
-
监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使⽤情况,磁盘使⽤情况等)
-
策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进⾏管理。但⽆法查看节点的相关信息。
-
普通管理者(management)
仅可登陆管理控制台,⽆法看到节点信息,也⽆法对策略进⾏管理。
-
其他
⽆法登陆管理控制台,通常就是普通的⽣产者和消费者。
以上是关于java---消息队列 RabbitMQ的主要内容,如果未能解决你的问题,请参考以下文章
从 Java/Spring 中检索 RabbitMQ 队列中未确认消息的数量