当前位置:首页 > 服务端 > Linux Rabbitmq 安装

Linux Rabbitmq 安装

2022年08月06日 10:11:20服务端2

rabbitmq 是基于 AMQP 协议的一种消息队列服务器。AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议。RabbitMQ 在小型创业公司和大型企业中有超过 3.5 万的生产部署,RabbitMQ 是最受欢迎的开源消息代理。

RabbitMQ 是轻量级的,并且可以很容易地部署在前提和云中。它支持多个消息传递协议。RabbitMQ 可以部署在分布式和联邦配置中,以满足高规模、高可用性需求。

RabbitMQ 在许多操作系统和云环境中运行,并为大多数流行语言提供了广泛的开发工具。

Rabbitmq 主要有以下几个特点:

  • 异步消息传递,支持多种消息传递协议、消息排队、交付确认、灵活路由到队列、多种交换类型。
  • 开发者友好,与BOSH、Chef、Docker和 Puppet 一起部署。使用最喜欢的编程语言开发跨语言的消息传递,例如:Java、.NET、PHP、Python、JavaScript、Ruby、Go,以及其他许多语言。
  • 分布式部署,作为集群部署,以获得高可用性和吞吐量;联合多个可用区域和区域。
  • 企业级 & 云,插入式的身份验证、授权、支持TLS和LDAP。轻量级且易于在公共云和私有云中部署。
  • 工具和插件,支持持续集成、操作度量和集成到其他企业系统的各种工具和插件。灵活的插件方法来扩展 RabbitMQ 功能。
  • 管理和监控,HTTP-API,命令行工具,以及用于管理和监控 RabbitMQ 的 UI。

下面是 Rabbitmq 的架构图:

Linux Rabbitmq 安装 _ JavaClub全栈架构师技术笔记

这里面包含了 4 个角色:

  • Provider : 消息的创建者,发送到amqp的消息中间件
  • Consumer : 连接到amqp的消息中间件,订阅到队列上,进行消息的消费。分为持续订阅(basicConsumer)和单条订阅(basicGet)
  • Queue:队列是位于 RabbitMQ 内的一个邮筒的名称。尽管消息通过 RabbitMQ 和你的应用程序传递,但它们只能存储在队列中。队列只受主机的内存和磁盘限制的限制,它本质上是一个大的消息缓冲区。许多生产者可以发送到一个队列的消息,许多消费者可以尝试从一个队列接收数据
  • Exchange:队列通过路由键(routing key,某种确定的规则)绑定到交换器,生产者把消息发送到了交换器,交换器根据绑定的路由键将消息路由到特定的队列,订阅了队列的消费者进行接收。你可能想 我只想让消息到达队列而已,但是发布与订阅或者多播场景,就可以通过交换机轻松实现。

因为 Rabbitmq 是使用 erlang 写的,所以在 linux 系统中运行 Rabbitmq 需要安装 erlang 环境。之前我在 centos 7 虚拟机安装 erlang 21 ,然后再安装 rabbitmq-server 一直报错:安装的时候会提示需要erlang版本 >= 19.3。

Linux Rabbitmq 安装 _ JavaClub全栈架构师技术笔记

然后再网上搜索找到了一篇文章解决这个问题。它是直接把 erlang 环境依赖加到了 yum 源中在安装 Rabbitmq 的时候,直接就安装了依赖的 erlang 环境。

1、erlang 添加 yum 源中

添加 rabbitmq-eralng 依赖到 yum 源中,安装 rabbitmq-server 的时候会依赖安装 erlang 环境。

#vim /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
#yum clean all
#yum makecache

2 安装 rabbitmq

然后到 官方网站 下载 RabbitMQ 的 RPM包. 使用 yum 进行安装,yum 会自动去源里安装依赖包

wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.7/rabbitmq-server-3.7.7-1.el7.noarch.rpm
yum install rabbitmq-server-3.7.7-1.el7.noarch.rpm

3、启动 Rabbitmq

# 启动RabbitMQ服务
service rabbitmq-server start
# 状态查看
rabbitmqctl status
# 启用插件
rabbitmq-plugins enable rabbitmq_management
# 重启服务
service rabbitmq-server restart
# 添加帐号:name 密码:passwd
# 默认用户名密码 guest/guest
rabbitmqctl add_user name passwd
# 赋予其administrator角色
rabbitmqctl set_user_tags name administrator
# 设置权限
rabbitmqctl set_permissions -p / name ".*" ".*" ".*"

然后进入 http://ip:15672 进入web管理页面了(外部访问别忘记修改防火墙)。

参考地址:

  • http://www.rabbitmq.com/#features
  • https://www.jianshu.com/p/f54dc259a9ed

作者:carl-zhao
来源链接:https://blog.csdn.net/u012410733/article/details/81585574

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/18185.html

分享给朋友:

“Linux Rabbitmq 安装” 的相关文章

RabbitMQ配置SSL

RabbitMQ配置SSL

引言 主要介绍了如何通过Docker安装RabbitMQ并配置SSL;配置成功之后给出了SpringBoot和Python集成的例子。 生成证书 $ git clone https://github.com/Berico-Technol...

RabbitMQ基本特性

RabbitMQ基本特性

1.互联网大厂为什么选择RabbitMQ? 2.RabbitMQ的高性能之道是如何做到的? 3.什么是AMQP高级协议? 4.AMQP核心概念是什么? 5.RabbitMQ整体架构模型是什么样子? 6.RabbitMQ消息是如何流...

RabbitMQ消息队列创建

RabbitMQ消息队列创建

操作环境 centos 7.9 RabbitMQ 3.8.23 Erlang 24.1.2 局域网(内网) 本文章是通过RabbitMQ图形管理界面,进行消息创建与队列绑定 首先在RabbitMQ安装时...

rabbitmq权限配置

关于rabbitmq权限的几点: rabbitmq的权限控制通过两层来实现,一是vhost的权限,二是确认有权限访问vhost后,对vhost内资源的权限控制(配置,读,写)   1.默认...

rabbitmq 启动异常

问题点说明:今天早上,开发人员反映Rabbitmq有问题,我试着登录页面访问http://IP:15672,出现了报错信息,因为当时忙着处理,报错页面没有截下来。 后面想重启一下Rabbitmq看能不能解决问题,发现居然重启不了,然后查看了下日志信息,找到了Ra...

Linux系统Centos7安装RabbitMQ使用压缩包配置环境变量RabbitMQ 3.8.16.tar.xz Erlang 24

Linux系统Centos7安装RabbitMQ使用压缩包配置环境变量RabbitMQ 3.8.16.tar.xz Erlang 24

文件的下载1、创建两个安装信息的存放文件夹sudo mkdir /usr/local/rabbitmqsudo mkdir /usr/local/erlang  2、下载rabbitmq和erlangcd /usr/local/rab...

activeMQ、rabbitMQ学习对比心得

activeMQ、rabbitMQ学习对比心得

一、activemq activemq工作模型比较简单。只有两种模式 queue、topics 。 queue就多对一,producer往queue里发送消息,消费者从queue里取,消费一条,就从queue里移除一条。如果一个消费者消费速度...

Docker部署RabbitMQ

Docker部署RabbitMQ

【前言】 Docker : Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in...

RabbitMQ(三) 微服务 RabbitMQ 入门案例

RabbitMQ(三) 微服务 RabbitMQ 入门案例

一、创建案例项目  打开 https://start.spring.io/  ,在“Dependencies”中搜索RabbitMQ和web,生成spring-boot项目 点击生成按钮,即下载了一个包含RabbitMQ的项目。...

RabbitMQ消息堆积问题

RabbitMQ消息堆积问题

当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。最早接收到的消息,可能就会成为死信,会被丢弃,这就是消息堆积问题。 解决消息堆积有三种思路: 增加更多消费者,提高消费速度 在消费者...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。