GNU/Linux >> Linux の 問題 >  >> Linux

Rabbitmq のインストールと管理

はじめに

経験豊富なシステム管理者なら誰でも、タスクを後回しにすることが非常に有用であり、特にタスクに時間がかかり、多くのリソースを消費する場合に必要であることを知っています。これを行うには、メッセージ ブローカーが必要です。これは、さまざまな送信者 (Web アプリケーション) からメッセージ (タスク) を受信し、それらからキューを形成し、作業プロセス間でそれらを分散するプログラムです。

この記事では、RabbitMQ プロジェクトに焦点を当てます。これは、Advanced Message Queuing Protocol (AMQP) を実装するメッセージ ブローカーの機能を実装するための一連のオープン アプリケーションです。

メッセージ、メッセージ ブローカー、およびシーケンス

メッセージングは​​、プロセス、アプリケーション、仮想および物理サーバー間で特定のデータを交換する方法です。いくつかの計算機能を実行するこれらのメッセージには、プレーン テキストからバイナリ データの大きなブロックまで、ほとんど何でも含めることができます。このプロセスを正しく実行するには、サードパーティ プログラムが必要です。これがメッセージ ブローカーです。

メッセージブローカは通常、アプリケーションのグループであり、その個々のコンポーネントは、メッセージの特定の段階を処理するように設計されています。つまり、メッセージを受信し、キューで定義し、そのメッセージをその実行を担当するワークプロセスに転送します。多くの場合、本格的なソリューションの代わりに、もともとこの作業を意図していなかったプログラム (データベース、cron デーモンなど) が使用されます。単純にメッセージ キュー (技術的には無限バッファを表します) を作成し、それらを自動処理またはポーリングに渡します。

なぜメッセージ ブローカーが必要なのですか?

メッセージ ブローカーは、さまざまなサービス (Web アプリケーション) 間の仲介者として機能します。処理に時間がかかるタスクは、これらのタスクを実行するためだけに設計されたワークフロー間で分散されるため、負荷が大幅に軽減され、メッセージの配信時間が短縮されます。あるアプリケーションから別のアプリケーションにメッセージを送信するための信頼できるチャネルを提供します。

いつメッセージ ブローカーが必要ですか?

一般に、メッセージ ブローカーの基本機能は、次のような多くの領域をカバーしていますが、これらに限定されません:

  • リクエストに対するウェブ サーバーの応答時間を短縮する (リソースを大量に消費するタスクを実行する必要がないため)
  • 複数の受信者へのメッセージの配信 (たとえば、処理のため)
  • オフライン ユーザーは後ですべてのデータを取得できます。
  • サーバー システムとの完全な非同期モードの操作
  • タスクの順序付けと優先順位付け;
  • 作業プロセス間の負荷分散
  • アプリケーションの信頼性とアップタイムを改善する

RabbitMQ の簡単なレビュー

RabbitMQ (2007 年にリリース) は、Advanced Message Queuing Protocol の実装として Mozilla Public License v1.1 の下でライセンスされている、最も人気のあるオープンソース メッセージ ブローカーの 1 つです。 Erlang で設計された RabbitMQ は、使用とインストールが非常に簡単です。

RabbitMQ の仕組み

RabbitMQ は、適切なリスト (メッセージ キュー) にデータを配布するブローカーを使用して、送信者 (パブリッシャー) と受信者 (コンシューマー) を接続するインターフェイスを提供します。

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

RabbitMQ の利点

他のソリューションとは異なり、RabbitMQ は本​​格的なアプリケーション スタックであり、選択したアプリケーションの単純なベースではありません。複合体に必要なすべてのツールを提供します。

AMQP の簡単なレビュー

AMQP (Advanced Message Queuing Protocol) は、メッセージの配布と送信のための広く普及しているオープン スタンダードです。プロトコルおよび標準として、さまざまなアプリケーションとメッセージ ブローカーの相互作用のための共通フレームワークを確立し、個々のプログラム設計によって引き起こされる問題を排除します。

RabbitMQ のインストール

RabbitMQ パッケージは、CentOS / RHEL および Ubuntu / Debian で提供されています。しかし、原則として、そのようなパッケージは時代遅れです。したがって、RabbitMQ を手動でダウンロードしてインストールすることをお勧めします。

注意 :以前に起動したアプリケーションの動作を中断したり、構成エラーを引き起こしたりしないように、すべての手動操作は新しいサーバーで実行することをお勧めします。

RabbitMQ を CentOS/RHEL にインストール

RabbitMQ のインストールを開始する前に、プログラムの依存関係をインストールする必要があります。そのうちの 1 つは Erlang です。ただし、まず、システムと標準アプリケーションを更新する必要があります。これを行うには、次を実行します:

# yum -y update

Erlang のインストールには、以下を使用できます:

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

これで、RabbitMQ をインストールできます:

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

Ubuntu に RabbitMQ をインストールする

Ubuntu/Debian での RabbitMQ のインストール プロセスは、CentOS での場合とほぼ同じです。まず、ソフトウェアを更新する必要があります:

# apt-get update
# apt-get -y upgrade

rabbitmq キーを追加:

# curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -

パッケージの更新を行う:

# apt-get update

これで、rabbitmq RabbitMQ をインストールできます:

$ sudo apt-get install rabbitmq-server

RabbitMQ の管理

前述のように、RabbitMQ ブローカーは非常に使いやすいです。このセクションでは、RabbitMQ の管理と構成について説明します。

管理コンソールを有効にする

RabbitMQ 管理コンソール (RabbitMQ 管理コンソール) は、グラフィカル Web ベースのユーザー インターフェイスを介して RabbitMQ サーバーのプロセスを監視できるプラグインの 1 つです。

このコンソールを使用すると、次のことができます:

  • メッセージング、メッセージ キュー、接続、およびユーザーを管理する
  • メッセージ キュー、接続、メッセージ レートを追跡する
  • メッセージの送受信
  • Erlang プロセスとメモリ使用量を追跡します。

RabbitMQ 管理を有効にするには、次のコマンドを実行します:

$ sudo rabbitmq-plugins enable rabbitmq_management

これで、your_ip:15672 にアクセスして、ブラウザで管理コンソールを開くことができます。

Default rabbitmq user – guest.
Default rabbitmq password – guest

CentOS/RHEL での RabbitMQ の管理

RabbitMQ 自動起動を有効にするには、以下を実行する必要があります:

# chkconfig rabbitmq-server on

開始、停止、再起動、およびステータスの確認には、以下のコマンドを使用します:

# start:
/sbin/service rabbitmq-server start
# stop:
/sbin/service rabbitmq-server stop
# restart:
/sbin/service rabbitmq-server restart
# status:
/sbin/service rabbitmq-server status

Ubuntu/Debian での RabbitMQ の管理

Ubuntu/Debian で rabbitmq のステータスを開始、停止、再起動、確認するには、以下のコマンドを使用します:

# start:
service rabbitmq-server start
# stop:
service rabbitmq-server stop
# restart:
service rabbitmq-server restart
# status:
service rabbitmq-server status

これで、rabbitmq サーバーを使用する準備が整いました!

RabbitMQ 構成

RabbitMQ には標準設定が付属しています。一般に、これらは非常に信頼性が高く、編集する必要はありません。


Linux
  1. CentOS7にApacheとPHPをインストールする

  2. メモリの監視と管理

  3. make の DESTDIR と PREFIX

  1. CentOS /RHEL7/6およびFedoraにRabbitMQをインストールする方法

  2. Linux に RabbitMQ サーバーと Erlang をインストールする方法

  3. 特定の IP とポートをトレースする

  1. VeeamManagementAgentおよびVeeamBackupAgentをインストールおよび構成する方法

  2. Debian11にRabbitMQをインストールして設定する方法

  3. Ubuntu16.04にRabbitMQをインストールしてセットアップする方法