如何安装和管理 RabbitMQ

介绍


暂停一些事情,而不是立即做它们,可以被认为是懒惰的。事实上,大多数时候它可能是。然而,有时它是绝对正确的做法。有时,人们需要暂停一份耗时的工作;它需要排队,以便在未来执行,以便可以处理更重要的事情。要做到这一点,你需要一个经纪人**:有人从不同的发件人(即网络应用程序)接收消息(例如工作,任务),排队,并将它们分发给相关方(即工人),以便利用它们 - 所有不同步和按需求。

在这篇DigitalOcean文章中,我们旨在向您介绍 RabbitMQ 项目:一个开源消息经纪应用程序堆栈,该堆栈实施了高级消息排队协议(AMQP),以处理我们上面解释的整个场景。

消息,消息经纪人和队列


消息传输是一种在流程、应用程序和服务器(虚拟和物理)之间交换某些数据的方式,这些信息交换,有助于满足某些工程需求,可以包括从简单的文本消息到用于满足不同需求的二进制数据。

消息经纪人通常是应用程序堆栈,包含专门的零件,涵盖交易所设置的每个阶段. 从接收消息到排队,并将其交付给请求方,经纪人处理通常与非专门的解决方案或简单的 _hacks _ 如使用数据库, cron 工作等更繁琐的任务,他们只是通过处理技术上构成无限缓冲的排队,将消息放到后面,以自动或通过调查进行处理。

为什么使用它们?


这些消息传递解决方案作为各种服务的中间人(例如您的Web应用程序)。它们可以被用来大大降低Web应用程序服务器的负载和交付时间,因为任务通常需要相当长的时间来处理,可以被委托给第三方,其唯一任务是执行它们(例如工人)。

什么时候使用它们?


总之,解释的核心功能扩展到涵盖多种领域,包括但不限于:

  • 允许网页服务器快速响应请求,而不是被迫在现场执行重量资源的程序
  • 向多个接收者发送信息以供消费(例如处理)
  • 允许离线各方(即离线用户)在以后恢复数据,而不是将其永久失去
  • 将完全不同步的功能引入后端系统
  • 排序和优先任务
  • 平衡员工之间的负载
  • 极大地提高您的应用程序的可靠性和可持续时间
  • 更多

兔子


RabbitMQ是市场上最受欢迎的消息经纪解决方案之一,以开源许可证(Mozilla Public License v1.1)提供,作为高级消息排队协议的实现。使用Erlang语言开发,实际上相对易于使用并开始使用。

它是如何工作的?


RabbitMQ通过提供接口,将消息发送者(发布者)与接收者(消费者)连接,通过交换(经纪人)将数据分发到相关列表(消息队列)。

1APPLICATION EXCHANGE TASK LIST WORKER
2   [DATA] -------> [DATA] ---> [D]+[D][D][D] --->  [DATA]
3 Publisher EXCHANGE Queue Consumer

它与其他人有什么不同?


RabbitMQ,与其他一些解决方案不同,是一个全方位的应用程序堆栈(即消息经纪商)。它为您提供了您需要使用的所有工具,而不是作为一个框架,以便您实现自己的。

先进消息排队协议(AMQP)简介


AMQP是一个广泛接受的开源标准,用于从源头传输和传输消息,作为一个协议和标准,它为各种应用程序和邮件经纪商中间件建立了一个共同的基础,以便在不遇到由个人设计决策引起的问题的情况下进行互操作。

安装RabbitMQ


RabbitMQ 包分布在 CentOS / RHEL 和 Ubuntu / Debian 基于的系统中,但它们 - 与大多数应用程序一样 - 已经过时。因此,在您的系统上获取 RabbitMQ 的建议方式是在线下载并手动安装包。

注: 我们将执行我们的安装,并在新鲜和新创建的VPS上执行列出的操作,因为各种原因. 如果您正在积极为客户服务,并且可能已经修改了您的系统,以免破坏任何工作,以免出现问题,建议您在新系统上尝试以下指示。

安装在 CentOS 6 / RHEL 基于系统上


在安装 RabbitMQ 之前,我们需要了解其主要依赖性,例如 Erlang. 但是,首先我们应该更新我们的系统和默认应用程序。

运行以下操作来更新我们的滴滴:

1yum -y update

让我们使用下面的命令来在我们的系统中获得Erlang:

1# Add and enable relevant application repositories:
2# Note: We are also enabling third party remi package repositories.
3wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
4wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
5sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
6
7# Finally, download and install Erlang:
8yum install -y erlang

一旦我们有Erlang,我们可以继续安装RabbitMQ:

1# Download the latest RabbitMQ package using wget:
2wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.2/rabbitmq-server-3.2.2-1.noarch.rpm
3
4# Add the necessary keys for verification:
5rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
6
7# Install the .RPM package using YUM:
8yum install rabbitmq-server-3.2.2-1.noarch.rpm

安装在 Ubuntu 13 / Debian 7 基于系统上


在 Ubuntu 和 Debian 上下载和安装 RabbitMQ 的过程将与 CentOS 相似,因为我们希望有一个更新的版本。

让我们开始更新我们的系统的默认应用程序工具集:

1apt-get update 
2apt-get -y upgrade

启用 RabbitMQ 应用库:

1echo "deb http://www.rabbitmq.com/debian/ testing main" >> /etc/apt/sources.list

添加包的验证密钥:

1curl http://www.rabbitmq.com/rabbitmq-signing-key-public.asc | sudo apt-key add -

更新來源,我們的新增從上面:

1apt-get update

最后,下载并安装RabbitMQ:

1sudo apt-get install rabbitmq-server

为了在启动时管理最大数量的连接,请使用nano打开和编辑下面的配置文件:

1sudo nano /etc/default/rabbitmq-server

删除限制行(即删除#)在保存和退出之前,按 CTRL + X 然后按 Y。

管理RabbitMQ


正如我们之前提到的,RabbitMQ是非常简单的开始使用. 使用下面的指示为您的系统,您可以快速管理它的过程,并让它在系统启动(即启动)运行。

启用管理控制台


RabbitMQ管理控制台 是可用的插件之一,允许您通过基于 Web 的图形用户界面(GUI)监控 [RabbitMQ] 服务器流程。

使用此控制台,您可以:

  • 管理交换、排队、连接、用户
  • 监控排队、消息率、连接
  • 发送和接收消息
  • 监控 Erlang 流程、内存使用
  • 以及更多

要启用 RabbitMQ 管理控制台,请执行以下操作:

1sudo rabbitmq-plugins enable rabbitmq_management

一旦您启用了控制台,您可以通过访问您最喜欢的网页浏览器访问它: http://[您的滴滴的IP]:15672/

默认用户名和密码都为登录设置为客人

** 注意** :如果在运行该服务后启用此控制台,则需要重新启动,以便更改生效. 请参阅下面的相关管理部分,以便您的操作系统能够这样做。

基于CentOS / RHEL的系统管理


在安裝應用程式時,RabbitMQ 預設不會在系統啟動時啟動。

要将 RabbitMQ 作为默认的 DAEMON 启动,请执行以下操作:

1chkconfig rabbitmq-server on

若要启动、停止、重新启动和检查应用程序状态,请使用以下方法:

 1# To start the service:
 2/sbin/service rabbitmq-server start
 3
 4# To stop the service:
 5/sbin/service rabbitmq-server stop
 6
 7# To restart the service:
 8/sbin/service rabbitmq-server restart
 9
10# To check the status:
11/sbin/service rabbitmq-server status

在 Ubuntu / Debian 基于系统上管理


要启动、停止、重新启动并检查 Ubuntu 和 Debian 上的应用程序状态,请使用以下方法:

 1# To start the service:
 2service rabbitmq-server start
 3
 4# To stop the service:
 5service rabbitmq-server stop
 6
 7# To restart the service:
 8service rabbitmq-server restart
 9
10# To check the status:
11service rabbitmq-server status

你现在有自己的消息排队在你的虚拟服务器上工作。

创建 RabbitMQ


默认情况下,RabbitMQ 以其标准配置运行,一般来说,只要一切顺利运行,它不需要对大多数需求进行大量调节。

要了解如何根据自定义需求配置它,请参阅 配置的文档。

Submitted by: O.S. Tezer
Published At
Categories with 技术
comments powered by Disqus