linux centos rabbitmq3.7.5 一键安装部署

linux centos rabbitmq3.7.5 一键安装部署

  • 一、基础理论
  • 二、kafka和rocketmq、rabbitmq的区别
  • 三、下载所需安装包
  • 四、一键安装

一、基础理论

RabbitMQ是一个实现了高级消息队列协议(AMQP)的开源消息代理软件,其作用主要体现在以下几个方面:
1、消息传递:
RabbitMQ允许应用程序通过消息传递进行通信,这使得不同的应用程序可以在不同的语言和操作系统之间进行通信。
它支持多种编程语言,如Python、Java、Ruby、PHP、C#、JavaScript、Go、Elixir、Objective-C和Swift等,使得不同技术栈之间的通信变得简单高效。

2、消息路由:
RabbitMQ能够将消息从一个应用程序路由到另一个应用程序,这可以通过将消息发送到交换机(Exchange)和队列(Queue)来完成。
它支持多种路由模式,如发布/订阅模式(Publish/Subscribe)、路由模式(Routing)和主题模式(Topics),以满足不同场景下的消息路由需求。

3、消息队列:
RabbitMQ可以保存消息,直到消费者准备好接收它们。这使得应用程序能够以异步方式处理消息,提高了系统的响应速度和吞吐量。
通过消息队列,应用程序可以解耦不同的业务逻辑,降低系统之间的耦合度,提高系统的可扩展性和可维护性。

4、消息持久化:
RabbitMQ支持从内存持久化消息到硬盘,再从硬盘加载到内存,确保消息的可靠性和持久性。
这使得即使在系统崩溃或重启的情况下,也能保证消息不会丢失,从而保证了系统的稳定性和可靠性。

5、集群和故障转移:
RabbitMQ可以构建在开放电信平台框架上的集群和故障转移机制,提高了系统的可用性和容错能力。
通过集群,RabbitMQ可以实现消息的负载均衡和高可用性,确保系统能够处理大量的并发请求。

6、集成与扩展:
RabbitMQ可以与多种框架和工具进行集成,如Spring框架、Docker容器等,使得在现有系统中集成RabbitMQ变得更加容易。
同时,RabbitMQ也提供了丰富的插件和扩展机制,可以根据实际需求进行定制和扩展。

7、应用场景:
RabbitMQ在多个场景下都有广泛的应用,如日志收集、消息通讯、解耦系统组件、异步任务处理等。
在微服务或分布式系统架构中,RabbitMQ提供了一种解耦的方式来确保消息的可靠传输,提高了系统的可维护性和可扩展性。
综上所述,RabbitMQ作为一个开源的消息代理软件,通过其强大的消息传递、路由、队列和持久化等功能,为应用程序之间的通信提供了可靠、高效和可扩展的解决方案。

二、kafka和rocketmq、rabbitmq的区别

Kafka、RocketMQ和RabbitMQ都是流行的消息队列系统,它们在功能、性能、使用场景等方面存在一定的差异。以下是关于它们之间区别的详细比较:

1、语言与开发
Kafka:采用Scala语言开发,由Linkedin公司开发并贡献给Apache基金会,是一个顶级的开源项目。
RocketMQ:采用Java语言开发。
RabbitMQ:采用Erlang语言开发,并提供了多种语言的客户端支持。

2、吞吐量与性能
Kafka:设计目标是以时间复杂度为O(1)的方式提供消息持久化能力,即使在TB级数据上也能保持常数时间的访问性能。支持批量处理和磁盘顺序读写,使得其吞吐量极高。
RocketMQ:也具有较高的吞吐量,但在某些场景下可能稍逊于Kafka。
RabbitMQ:吞吐量相对较低,但在一些对延迟要求极高的场景下表现良好。

3、可靠性与持久化
Kafka:消息持久化到磁盘,并通过replication防止数据丢失。Kafka支持同步和异步的消息复制策略。
RocketMQ:支持消息的高可靠性,通过同步双写技术可以完全避免单点故障。
RabbitMQ:通过确认机制、支持事务、委托和备份交换器等机制保证消息的可靠性。

4、使用场景
Kafka:主要应用于大数据实时处理领域,如基于Hadoop的批处理系统、低延迟的实时系统、Spark/Flink流式处理引擎等。
RocketMQ:在互联网金融、电商、物流等领域有广泛应用,支持事务消息和回溯消费等特性。
RabbitMQ:适用于实时性要求较高的场景,如在线游戏、Web应用等。RabbitMQ还支持多种消息路由和过滤机制。

5、系统架构与扩展性
Kafka:基于Zookeeper协调的分布式消息中间件系统,支持分布式消费和扩展。
RocketMQ:采用NameServer和Broker的架构,NameServer负责路由信息的维护,Broker负责消息的存储和转发。
RabbitMQ:使用Erlang编写,具有轻量级和易于扩展的特点。它支持多种集群模式,如镜像队列等。

6、总结
Kafka、RocketMQ和RabbitMQ各有其优势和适用场景。Kafka在大数据实时处理领域表现出色,RocketMQ在互联网金融等领域有广泛应用,而RabbitMQ则适用于实时性要求较高的场景。在选择消息队列系统时,需要根据具体的业务需求和场景进行权衡和选择。

三、下载所需安装包

1、安装Erlang
Erlang RPM包下载地址:https://github.com/rabbitmq/erlang-rpm/releases/tag/v20.3.6
在这里插入图片描述
2、安装rabbitmq
版本地址https://github.com/rabbitmq/rabbitmq-server/releases
rpm下载地址
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.5
在这里插入图片描述
3、socat下载
https://rpmfind.net/linux/RPM/centos/7.9.2009/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.html
在这里插入图片描述
4、密钥文件
cat rabbitmq-release-signing-key.asc

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=tsX2
-----END PGP PUBLIC KEY BLOCK-----

5、安装包文件位置
在这里插入图片描述

四、一键安装

1、安装脚本位置
在这里插入图片描述

cat install-rabbitmq.sh
#!/bin/bash
script_dir=$(cd $(dirname $0);pwd)
log_info(){
    content="[ INFO ] $(date "+%F %H:%M:%S") $1"
    echo -e "\033[32m"  ${content}  "\033[0m" >>$script_dir/install.log
    echo -e "\033[32m"  ${content}  "\033[0m" 
}
log_error(){

    if [ "$?" != 0 ];then
        content="[ ERROR ] $(date "+%F %H:%M:%S") $1"
        echo -e "\033[31m" ${content} Error"\033[0m"\" >>$script_dir/install.log
        echo -e "\033[31m" ${content} Error"\033[0m"\"
        exit -1
    fi
}

admin_passwd="admin@LDBa1"
bpm_passwd="ldb@LDB1"
cd $script_dir/../package/rabbitmq
log_info "install rabbitmq socat erlang rpm.."
sudo rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm 
sudo rpm -ivh erlang-20.3.6-1.el7.centos.x86_64.rpm
#log_error 'rpm package install failed'
sudo rpm --import rabbitmq-release-signing-key.asc
log_info "install rabbitmq-server"
sudo rpm -ivh rabbitmq-server-3.7.5-1.el7.noarch.rpm

#log_error "rabbitmq-server install failed"


log_info "start rabbitmq-server."
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server
log_error "start rabbitmq-server failed"
log_info "start rabbitmq management."
sudo rabbitmq-plugins enable rabbitmq_management

log_info "add rabbimt admin user"
sudo rabbitmqctl add_user admin $admin_passwd
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

log_info "add rabbimt bpm user"
sudo rabbitmqctl add_user bpm $bpm_passwd
sudo rabbitmqctl set_permissions -p / ldb ".*" ".*" ".*"

sudo systemctl status rabbitmq-server
log_info "install rabbitmq done."

7、启动完成样例
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/748404.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker 查看源地址/仓库地址,更改

一、源地址文件配置路径。若有docker文件夹,没有json,可以新增,复制进去内容 /etc/docker/daemon.json {"registry-mirrors": ["https://dockerhub.azk8s.cn","https://hub-mirror.c.163.com",&q…

“北京到底有谁在啊”影视APP开发,解锁最简单的快乐

随着电视剧《玫瑰的故事》在腾讯视频APP热播,APP也增加了很多热度,一款丰富的影视APP,无论是热门大片、经典影视剧、还是最新综艺节目,能畅享无限精彩的影视内容! 开发影视APP,需要专业的技术服务商来解决…

k8s手撕架构图+详解

“如果您在解决类似问题时也遇到了困难,希望我的经验分享对您有所帮助。如果您有任何疑问或者想分享您的经历,欢迎在评论区留言,我们可以一起探讨解决方案。祝您在编程路上顺利前行,不断突破技术的难关,感谢您的阅读&a…

使用nvm切换node版本时报错:exit status 1解决办法

作者介绍:计算机专业研究生,现企业打工人,从事Java全栈开发 主要内容:技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流(SCI论文两篇) 上点关注下点赞 生活越过…

项目开发 TCP-Socket连接功能实现(Android端)

前段时间在公司做项目的时候遇到了一个功能需要使用TCP-Socket连接硬件设备进行通信,查了很多资料也只是关于HTTP-Socket相关的,没法满足项目的要求,后来查到一个相关的插件,现在有时间和大家分享一下。 项目简单介绍&#xff1a…

基于STM32+华为云IOT设计的智能冰箱(华为云IOT)

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成【4】摘要 1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发 二、部署华为云物联网平台2.1 物联网平台介绍2.2 开通物联网服务2.3 创建产品&#xff08…

Stateflow快速入门系列(-):构造并运行 Stateflow 图

Stateflow 提供了一种图形语言,包括状态转移图、流程图、状态转移表和真值表。您可以使用 Stateflow 来说明 MATLAB 算法和 Simulink 模型如何响应输入信号、事件和基于时间的条件。 Stateflow 使您能够设计和开发监控、任务调度、故障管理、通信协议、用户界面和混…

Windows USB设备驱动开发 - 常见概念的解释

我们听到许多 USB 术语几乎交替抛出。 它们都是什么意思?假设我们看到类似 “多亏了 USB 3.0,我可以将 SuperSpeed U 盘连接到电脑的 xHCI 主机控制器,并更快地复制文件。” 让我们了解该句子中的 USB 术语。 USB 3.0、USB 2.0 和 USB 1.0 请…

大模型笔记1: Longformer环境配置

论文: https://arxiv.org/abs/2004.05150 首先保证电脑上配置了git. git环境配置: https://blog.csdn.net/Andone_hsx/article/details/87937329 3.1、找到git安装路径中bin的位置,如:D:\Program Files\Git\bin 找到git安装路径中git-core的…

C++ Primer 中文版 第5版 读书笔记

读书过程中发现&#xff0c;读得越多&#xff0c;忘得越多。因此记录读书笔记 1.2 初始输入输出 向流写入数据 <<运算符&#xff08;输出运算符&#xff09;接受两个运算对象&#xff1a;左侧的运算对象必须是一个ostream对象&#xff0c;右侧的运算对象是要打印的值。…

限域传质分离膜兼具高渗透性、高选择性特点 未来应用前景广阔

限域传质分离膜兼具高渗透性、高选择性特点 未来应用前景广阔 分离膜是一种具有选择性透过功能的薄层材料。限域传质分离膜是基于限域传质机制的分离膜&#xff0c;兼具高渗透性、高选择性的特点。限域传质是流体分子通过与其运动自由程相当传质空间的过程&#xff0c;流体分子…

TiDB-从0到1-数据导出导入

TiDB从0到1系列 TiDB-从0到1-体系结构TiDB-从0到1-分布式存储TiDB-从0到1-分布式事务TiDB-从0到1-MVCCTiDB-从0到1-部署篇TiDB-从0到1-配置篇TiDB-从0到1-集群扩缩容 一、数据导出 TiDB中通过Dumpling来实现数据导出&#xff0c;与MySQL中的mysqldump类似&#xff0c;其属于…

SQL Server 2016安装【windows 11】

获取安装包 链接: https://pan.baidu.com/s/1OM9JCNah0-zrOQ0vNBkh6g 提取码: 1245 安装程序 双击点击setup.exe 弹出SQL Server安装中学界面&#xff0c;点击【安装】—点击【全新SQL Server…添加功能】 不出意外的话啊会跳到 SQL Server 2016 安装程序界面&#xff0c;直…

idea使用maven打包报错GBK不可映射字符

方法一&#xff1a;设置环境变量 打开“控制面板” > “系统和安全” > “系统”。点击“高级系统设置”。在“系统属性”窗口中&#xff0c;点击“环境变量”。在“系统变量”部分&#xff0c;点击“新建”&#xff0c;创建一个新的变量&#xff1a; 变量名&#xff1a;…

数学建模 —— 矩阵的运算(上)

目录 调用函数运算 sum : 求和函数 prod : 求乘积函数(product) cumsum : 计算累积和(cumulative sum) diff : 计算差分(difference) mean : 计算平均值 (average) median : 计算中位数 mode : 计算众数 var : 计算方差 (variance) std : 计 算 标 准 差 (standard d…

Taro +vue3 中的微信小程序中的分享

微信小程序 右上角分享 的触发 以及配 useShareAppMessage(() > {return {title: "电影属全国通兑券",page: /pages/home/index,imageUrl: "http:///chuanshuo.jpg",};}); 置 就是Taro框架中提供的一个分享Api 封装好的

计算机网络:408考研|湖科大教书匠|原理参考模型II|学习笔记

系列目录 计算机网络总纲领 计算机网络特殊考点 计算机网络原理参考模型I 计算机网络原理参考模型II 目录 系列目录更新日志前言应用层(Application Layer)一、应用层概述二、客户/服务器方式和对等方式三、动态主机配置协议(DHCP, Dynamic Host Configuration Protocol)四、域…

LabVIEW技术交流-布尔灯仿真数码管

问题来源 闲来无事&#xff0c;逛论坛问答&#xff0c;看到这样一个问题&#xff0c;觉得有意思&#xff0c;就自己尝试下。 这个功能其实是不难的&#xff0c;就是显示不同的数值时&#xff0c;对相应的布尔灯进行真假值操作就行了。但是我又想到了更有趣的玩法&#xff0c;能…

Github 2024-06-27 Go开源项目日报Top10

根据Github Trendings的统计,今日(2024-06-27统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10Ollama: 本地大型语言模型设置与运行 创建周期:248 天开发语言:Go协议类型:MIT LicenseStar数量:42421 个Fork数量:2724 次关注人…

零点到两点,我部署了一个es

一开始的准备 实在是水平有限&#xff0c;Clash虚拟机网出不去&#xff0c;研究了LAN方案&#xff0c;还在咸鱼买了一单&#xff0c;搞不定&#xff0c;没辙&#xff0c;那我老老实实下载tar包得了&#xff0c;就不docker了 下载安装 直接官网给它安个es https://www.elasti…