赞
踩
常见的消息队列中间件:ActiveMQ、RabbitMQ、Kafka、RocketMQ
RabbitMQ比kafka可靠,kafka更适合IO高吞吐的处理,一般用于大数据日志处理【ELK】或对可靠性、适时性要求低的场景
4369 – erlang发现口
5672 --client端通信口
15672 – 管理界面ui端口
25672 – server间内部通信口
RabbitMQ是用Erlang语言写的,因此需要现在Erlang的运行环境
RabbitMQ与Erlang的版本对应关系:https://www.rabbitmq.com/which-erlang.html
Erlang下载:https://www.rabbitmq.com/releases/erlang/
RabbitMQ下载:https://www.rabbitmq.com/install-rpm.html
安装步骤:
# 安装GCC、ncurses等依赖 yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel yum -y install ncurses-devel yum -y install socat # 安装Erlang #解压源码并进入目录 tar -zxvf otp_src_22.3.tar.gz #进入解压后目录 cd otp_src_22.3/ #执行configure,生成Makefile文件 ./configure --prefix=/usr/local/erlang \ --enable-smp-support \ --enable-threads \ --enable-sctp \ --enable-kernel-poll \ --enable-hipe \ --with-ssl #参数说明 --prefix 指定安装目录 --enable-smp-support启用对称多处理支持 --enable-threads启用异步线程支持 --enable-sctp启用流控制协议支持(Stream Control Transmission Protocol,流控制传输协议) --enable-kernel-poll启用Linux内核poll --enable-hipe启用高性能Erlang --with-ssl使用SSL包 #安装和编译命令: make && make install
docker pull rabbitmq
mkdir -p /docker/rabbitmq/log
mkdir -p /docker/rabbitmq/etc
mkdir -p /docker/rabbitmq/data
# 修改目录权限
chmod -R 777 /docker/rabbitmq
docker run --name rabbitmq \
-p 5672:5672 -p 15672:15672 \
-v /docker/rabbitmq/data:/var/lib/rabbitmq \
-v /docker/rabbitmq/etc:/etc/rabbitmq \
-v /docker/rabbitmq/log:/var/log/rabbitmq \
-e RABBITMQ_DEFAULT_VHOST=/ \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=123456nw \
-d 3e5ddca64bb7
容器内RabbitMq的插件都放置在/plugins目录下
容器内查看Rabbit已经自带了哪些插件,哪些插件已经启用:
rabbitmq-plugins list
(1) 进入容器内安装rabbitmq的图像界面管理插件,任意目录直接执行安装指令即可
docker exec -it rabbitmq bash
rabbitmq-plugins enable rabbitmq_management
(2) 安装好以后,访问http://rabbitmq所在服务器ip:15672,进入管理界面.【如果没有指定用户名和密码,则默认用户为guest,默认密码为guest,进去以后可以修改密码】
RabbitMQ安装后无法访问15672端口,即需要安装管理插件,如果使用如下docker镜像即可不安装图形界面管理插件,因为默认已经安装了该插件
docker pull rabbitmq:management
(3)登录web管理界面
(1)rabbitmq 插件下载(官网):https://www.rabbitmq.com/community-plugins.html【根据rabbitmq版本选择对应的插件,web管理页面首页可以查看rabbitmq版本】
(2)下载以ez为后缀的插件,容器可以通过挂载的容器数据卷,将插件放到容器内,将该插件放置到rabbitmq容器的plugins目录下
(3)开启rabbitmq_delayed_message_exchange插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。