(一)丶RabbitMQ搭建及配置在Linux+Docker环境下

这篇具有很好参考价值的文章主要介绍了(一)丶RabbitMQ搭建及配置在Linux+Docker环境下。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、Linux环境搭建

本次搭建操作目录:/opt/mq/rabbit

RabbitMQ依赖的是Erlang语言,所以要先安装Erlang的环境。Erlang在1991年由爱立信公司向用户推出了第一个版本,经过不断的改进完善和发展,在1996年爱立信又为所有的Erlang用户提供了一个非常实用且稳定的OTP软件库并在1998年发布了第一个开源版本。Erlang同时支持的操作系统有linux,windows,unix等,可以说适用于主流的操作系统上,尤其是它支持多核的特性非常适合多核CPU,而分布式特性也可以很好融合各种分布式集群。

Erlang与RabbitMQ对应版本:https://www.rabbitmq.com/which-erlang.html

本次搭建使用版本:erlang-23.3.4.8-1.el7、rabbitmq-3.8.27-1-el7

值得注意的是:如果是CentOS7.x版本,选择el7版本,如果是CentOS版本,选择el8版本,通过cat  /proc/version可以查看具体内核

1.1、Erlang安装        

  1. Erlang下载: 地址:Releases · rabbitmq/erlang-rpm · GitHub,选择erlang-23.3.4.8-1.el7版本

生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

  1. Erlang安装:将下载好的rpm安装包,上传到服务器中,执行以下命令进行安装:
    rpm -ivh erlang-23.3.4.8-1.el7.x86_64.rpm	
    

    生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

1.2、RabbitMQ安装

  1. RabbitMQ下载:地址:Releases · rabbitmq/rabbitmq-server · GitHub,选择rabbitmq-3.8.27-1-el7版本

生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

  1. RabbitMQ安装:将下载好的rpm安装包,上传到服务器中,依次执行以下命令进行安装:
yum install socat -y
rpm -ivh rabbitmq-3.8.27-1-el7.noarch.rpm

生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

1.3 、RabbitMQ相关命令

1.添加开启启动命令
chkconfig rabbitmq-server on

2.启动服务
/sbin/service rabbitmq-server start

3.停止服务
/sbin/service rabbitmq-server stop

4.查看服务状态
/sbin/service rabbitmq-server status

生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

1.4、web管理插件 

RabbitMQ的可视化管理界面需要进行插件的安装,安装过程如下:

rabbitmq-plugins enable rabbitmq_management

 创建登录账号:

# 创建账号,add_user后面分别为:账户 密码
rabbitmqctl add_user admin admin
# 设置用户角色 
rabbitmqctl set_user_tags admin administrator
# 设置用户权限 
# rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

查看用户列表:

rabbitmqctl list_users

测试登录:
可视化界面的默认端口为15672,访问时:ip:15672即可;

生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

1.5、卸载

卸载前先停止rabbitmq服务 :

/sbin/service rabbitmq-server stop

查看rabbitmq安装的相关列表:

yum list | grep rabbitmq

生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

卸载rabbitmq: 

yum -y remove rabbitmq-server.noarch

 卸载erlang:

# 依次执行以下命令
yum -y remove erlang-*
yum remove erlang.x86_64

 删除有关的所有文件 :

rm -rf /usr/lib64/erlang 
rm -rf /var/lib/rabbitmq
rm -rf /usr/local/erlang
rm -rf /usr/local/rabbitmq

2、Docker环境搭建

docker搭建rabbitmq的版本为3.8.27

2.1、拉取镜像

docker pull rabbitmq:3.8.27-management

2.2、创建挂载目录

mkdir -p /root/docker/rabbitmq

2.3、启动容器

# 启动容器并且指定web管理的账户密码
docker run -d --hostname rabbit01 --name rabbitmq \
-p 15672:15672 -p 5672:5672 \
-v /root/docker/rabbitmq/data:/data/rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
rabbitmq:3.8.27-management

2.4、开启web页面管理

# 进入容器
docker exec -it rabbitmq /bin/bash
# 开启web页面插件
rabbitmq-plugins enable rabbitmq_management

登录web页面:
地址:http://ip:15672
用户密码及密码:admin/admin

2.5、创建用户

# 进入容器
docker exec -it rabbitmq /bin/bash
# 创建账号,add_user后面分别为:账户 密码
rabbitmqctl add_user admin2 admin2
# 设置用户角色 
rabbitmqctl set_user_tags admin2 administrator
# 设置用户权限 
# rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
rabbitmqctl set_permissions -p "/" admin2 ".*" ".*" ".*"
# 查看用户列表
rabbitmqctl list_users

生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

3、RabbitMQ核心概念

生产者
产生数据发送消息的程序是生产者

交换机

​交换机是 RabbitMQ 非常重要的一个部件,一方面它接收来自生产者的消息,另一方面它将消息推送到队列中。交换机必须确切知道如何处理它接收到的消息,是将这些消息推送到特定队列还是推送到多个队列,亦或者是把消息丢弃,这个得有交换机类型决定

队列

队列是 RabbitMQ 内部使用的一种数据结构,尽管消息流经 RabbitMQ 和应用程序,但它们只能存储在队列中。队列仅受主机的内存和磁盘限制的约束,本质上是一个大的消息缓冲区。许多生产者可以将消息发送到一个队列,许多消费者可以尝试从一个队列接收数据。

消费者

消费与接收具有相似的含义。消费者大多时候是一个等待接收消息的程序,同一个应用程序既可以是生产者又是可以是消费者。

4、工作原理

生产环境中搭建rabbitmq需要优化linux内核吗?,RabbitMQ,rabbitmq,linux,分布式

Broker: 接收和分发消息的应用,就是RabbitMQ Server

Connection: publisher/consumer 和 broker 之间的 TCP 连接

Channel: Channel 是在 connection 内部建立的逻辑连接,每个线程创建单独的 channel 进行通讯,Channel 作为轻量级的 Connection 极大减少了操作系统建立 TCP connection 的开销

Exchange: message 到达 broker 的第一站,根据分发规则,匹配查询表中的 routing key,分发 消息到 queue 中去。常用的类型有:direct (point-to-point), topic (publish-subscribe) and fanout (multicast)

Queue: 消息最终被送到这里等待consumer 取走

Virtual Hosts: 一个Vhost就相当于一个 库,不同的Vhost之间的Exchange、Queue不同文章来源地址https://www.toymoban.com/news/detail-844908.html

到了这里,关于(一)丶RabbitMQ搭建及配置在Linux+Docker环境下的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 消息中间件——RabbitMQ(一)Windows/Linux环境搭建(完整版)

    本文此章主要介绍环境搭建。此次主要是单机搭建(条件有限),包括在Windows、Linux环境下的搭建,以及RabbitMQ的监控平台搭建。 在搭建RabbitMQ之前,请先确保如下环境已经搭建完毕 Java环境(我的JDK1.8) Maven环境(我的3.6.1目前最新版) Git环境 没有搭建的同学走传送门:

    2024年02月08日
    浏览(33)
  • linux安装配置RabbitMQ和Erlang并配置环境变量

    linux 安装RabbitMQ、Erlang 一、安装Erlang erlang安装成功如下图: 二、安装RabbitMQ 成功登陆rabbitmq后台图例如下: 三、如何在阿里云开启自定义的端口号? 最后补充知识: 如何使用阿里云去开启一个端口号呢? 步骤如下: 1.登陆阿里云 2.搜索【云服务器ECS】,在左侧找到【安全

    2024年02月11日
    浏览(32)
  • rabbitmq第四课-RabbitMQ高可用集群架构详解以及生产环境最佳实践

    之前通过单机环境搭建起来的RabbitMQ服务有一个致命的问题,那就是服务不稳定的问题。如果只是单机RabbitMQ的服务崩溃了,那还好,大不了重启下服务就是了。 但是如果是服务器的磁盘出问题了,那问题就大了。因为消息都是存储在Queue里的,Queue坏了,意味着消息就丢失了

    2024年02月11日
    浏览(40)
  • Linux环境下RabbitMQ的安装(手把手教你安装与配置)

    根据rabbitmq版本要求下载满足要求的erlang RabbitMQ Erlang Version Requirements — RabbitMQ 以我自己的下载版本为例,提供网盘下载链接 链接:https://pan.baidu.com/s/1HkQphzjHp5xNvjN8RZauww?pwd=6666  提取码:6666 登录官网RabbitMQ Erlang Version Requirements — RabbitMQ 下滑至该位置,点击进入   一般不会下

    2024年02月04日
    浏览(37)
  • Spring整合RabbitMQ——生产者(利用配置类)

    配置RabbitMQ的基本信息,用来创建连接工厂的 编写启动类 编写配置类

    2024年02月07日
    浏览(35)
  • 【RabbitMQ】RabbitMQ 集群的搭建 —— 基于 Docker 搭建 RabbitMQ 的普通集群,镜像集群以及仲裁队列

    在RabbitMQ中,有不同的集群模式,包括普通模式、镜像模式和仲裁队列。每种模式具有不同的特点和应用场景。 普通集群,也称为标准集群(classic cluster),具备以下特征: 在集群的各个节点之间共享部分数据,包括交换机和队列的元信息,但不包括队列中的消息。 当访问

    2024年02月04日
    浏览(54)
  • Window环境RabbitMq搭建部署

    Erlang下载安装及配置环境变量 下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言Erlang编写的 Erlang下载 Erlang官网下载: http://www.erlang.org/downloads Erlang国内镜像下载(推荐): http://erlang.org/download/?N=D Ctrl+F win64 ,找到适合自己的版本即可  Erlang安装: 双击otp_win64_23.2

    2024年02月16日
    浏览(36)
  • RabbitMQ集群环境搭建-镜像模式

    集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失,在实际工作中也是用的最多的。并且实现集群非常的简单,一般互联网大厂都会构建这种镜像集群模式。 Mirror镜像队列,目的是为了保证rabbitmq数据的高可靠性解决方案,主要就是实现数据的同步,一般来讲是2-

    2024年02月14日
    浏览(49)
  • 6.Docker搭建RabbitMQ

    1、端口开放 如果在云服务上部署需在安全组开通一下端口:15672、5672、25672、61613、1883。 15672(UI页面通信口)、5672(client端通信口)、25672(server间内部通信口)、61613(stomp 消息传输)、1883(MQTT消息队列遥测传输)。 2、安装镜像 docker pull rabbitmq 3、查询镜像 docker images 4、启动MQ安装

    2024年02月07日
    浏览(36)
  • Docker中搭建RabbitMQ集群

    服务器IP 端口 hostname 管理界面地址 192.168.13.100 5673 rabbitmq-node1 192.168.13.100:15673 192.168.13.100 5674 rabbitmq-node2 192.168.13.100:15674 192.168.13.100 5675 rabbitmq-node3 192.168.13.100:15675 新版本已经不建议通过环境变量设置 Erlang Cookie 了,建议在 home 目录下新建 .erlang.cookie 文件,在 每个节点的 .

    2024年02月10日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包