GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Rabbitmq installieren und verwalten

Einführung

Jeder erfahrene Systemadministrator weiß, dass es manchmal sehr nützlich und sogar notwendig ist, Aufgaben auf später zu verschieben, insbesondere wenn die Aufgabe zeitaufwändig ist und viele Ressourcen verbraucht. Dazu benötigen Sie einen Message Broker – ein Programm, das Nachrichten (Aufgaben) von verschiedenen Absendern (Webanwendungen) entgegennimmt, daraus eine Warteschlange bildet und diese dann zwischen Workprozessen verteilt.

Dieser Artikel konzentriert sich auf das RabbitMQ-Projekt – eine Reihe offener Anwendungen zur Implementierung der Funktionen eines Nachrichtenbrokers, der das Advanced Message Queuing Protocol (AMQP) implementiert.

Nachrichten, Nachrichtenbroker und Sequenz

Messaging ist eine Möglichkeit, bestimmte Daten zwischen Prozessen, Anwendungen, virtuellen und physischen Servern auszutauschen. Diese Nachrichten, die einige Rechenfunktionen ausführen, können fast alles enthalten, von reinem Text bis hin zu großen Blöcken binärer Daten. Für die korrekte Ausführung dieses Prozesses wird ein Drittprogramm benötigt – das ist der Message Broker.

Ein Message Broker ist normalerweise eine Gruppe von Anwendungen, deren einzelne Komponenten darauf ausgelegt sind, eine bestimmte Phase des Messaging zu verarbeiten:eine Nachricht zu empfangen, sie in der Warteschlange zu definieren und die Nachricht an den für ihre Ausführung verantwortlichen Arbeitsprozess zu übergeben. Oft werden statt vollwertiger Lösungen Programme verwendet, die ursprünglich nicht für diese Arbeit gedacht waren (Datenbanken, Cron-Daemon etc.); Sie erstellen einfach eine Nachrichtenwarteschlange (die technisch unendliche Puffer darstellt) und übergeben sie dann zur automatischen Verarbeitung oder zum Abrufen.

Warum brauchen Sie Message Broker?

Message Broker fungieren als Vermittler zwischen verschiedenen Diensten (Webanwendungen). Sie reduzieren die Last erheblich und verkürzen die Zustellzeit von Nachrichten, da Aufgaben, deren Bearbeitung einige Zeit in Anspruch nimmt, auf Workflows verteilt werden, die ausschließlich für diese Aufgaben vorgesehen sind. Sie bieten einen zuverlässigen Kanal zum Übertragen von Nachrichten von einer Anwendung zur anderen.

Wann brauchen Sie Message Broker?

Im Allgemeinen deckt die Grundfunktionalität von Nachrichtenbrokern viele Bereiche ab, einschließlich, aber nicht beschränkt auf:

  • Reduzierung der Antwortzeit von Webservern auf Anfragen (weil sie keine ressourcenintensiven Aufgaben ausführen müssen).
  • Verteilung der Nachricht an mehrere Empfänger (zB zur Bearbeitung).
  • Offline-Benutzer können später alle Daten abrufen.
  • Vollständig asynchrone Arbeitsweise mit Serversystemen.
  • Reihenfolge und Priorisierung von Aufgaben;
  • Lastenausgleich zwischen Arbeitsprozessen.
  • Verbesserung der Zuverlässigkeit und Verfügbarkeit der Anwendung.

Und vieles mehr.

Ein kurzer Rückblick auf RabbitMQ

RabbitMQ (veröffentlicht 2007) ist einer der beliebtesten Open-Source-Nachrichtenbroker, der unter der Mozilla Public License v1.1 als Implementierung des Advanced Message Queuing Protocol lizenziert ist. RabbitMQ wurde in Erlang entwickelt und ist ziemlich einfach zu verwenden und zu installieren.

Wie funktioniert RabbitMQ?

RabbitMQ bietet eine Schnittstelle, die Sender (Publisher) mit Empfängern (Consumer) verbindet, indem ein Broker verwendet wird, der die Daten in den entsprechenden Listen – Message Queues – verteilt.

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

Vorteile von RabbitMQ

Im Gegensatz zu anderen Lösungen ist RabbitMQ ein vollwertiger Anwendungsstapel und keine einfache Basis für die Anwendung Ihrer Wahl. Es bietet alle notwendigen Werkzeuge im Komplex.

Ein kurzer Überblick über AMQP

AMQP (Advanced Message Queuing Protocol) ist ein weit verbreiteter offener Standard zur Verteilung und Übertragung von Nachrichten. Als Protokoll und Standard schafft es einen gemeinsamen Rahmen für das Zusammenspiel verschiedener Anwendungen und Nachrichtenbroker und eliminiert die Probleme, die durch individuelles Programmdesign verursacht werden.

RabbitMQ-Installation

RabbitMQ-Pakete werden von CentOS / RHEL und Ubuntu / Debian bereitgestellt. Aber in der Regel sind solche Pakete veraltet. Daher wird empfohlen, RabbitMQ manuell herunterzuladen und zu installieren.

Hinweis :Es wird empfohlen, alle manuellen Aktionen auf einem neuen Server durchzuführen, um den Betrieb zuvor gestarteter Anwendungen nicht zu stören und keinen Konfigurationsfehler zu verursachen.

Installieren Sie RabbitMQ in CentOS/RHEL

Bevor Sie mit der Installation von RabbitMQ beginnen, müssen Sie die Programmabhängigkeiten installieren, von denen eine Erlang ist. Zunächst müssen jedoch das System und die Standardanwendungen aktualisiert werden. Führen Sie dazu Folgendes aus:

# yum -y update

Für die Erlang-Installation können Sie verwenden:

# 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

Jetzt können Sie RabbitMQ installieren:

# 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

Installieren Sie RabbitMQ auf Ubuntu

Der Installationsprozess von RabbitMQ in Ubuntu/Debian ist unter CentOS fast gleich. Zuerst müssen Sie die Software aktualisieren:

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

Rabbitmq-Schlüssel hinzufügen:

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

Paketaktualisierung durchführen:

# apt-get update

Jetzt können Sie rabbitmq RabbitMQ installieren:

$ sudo apt-get install rabbitmq-server

RabbitMQ-Verwaltung

Wie bereits erwähnt, ist der RabbitMQ-Broker sehr einfach zu bedienen. Dieser Abschnitt enthält Anweisungen zum Verwalten und Konfigurieren von RabbitMQ.

Verwaltungskonsole aktivieren

Die RabbitMQ Management Console (RabbitMQ Management Console) ist eines der verfügbaren Plug-ins, mit denen Sie die Prozesse des RabbitMQ-Servers über eine grafische webbasierte Benutzeroberfläche überwachen können.

Mit dieser Konsole können Sie:

  • Messaging, Nachrichtenwarteschlangen, Verbindungen und Benutzer verwalten;
  • Nachverfolgung von Nachrichtenwarteschlangen, Verbindungen und Nachrichtenraten
  • Nachrichten senden und empfangen;
  • Erlang-Prozesse und Speichernutzung verfolgen;

Und vieles mehr.

Um die RabbitMQ-Verwaltung zu aktivieren, führen Sie den folgenden Befehl aus:

$ sudo rabbitmq-plugins enable rabbitmq_management

Jetzt können Sie die Verwaltungskonsole im Browser öffnen und your_ip:15672 aufrufen.

Default rabbitmq user – guest.
Default rabbitmq password – guest

RabbitMQ-Verwaltung in CentOS/RHEL

Um den Autostart von RabbitMQ zu aktivieren, müssen Sie Folgendes ausführen:

# chkconfig rabbitmq-server on

Verwenden Sie zum Starten, Stoppen, Neustarten und Überprüfen des Status die folgenden Befehle:

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

RabbitMQ-Verwaltung in Ubuntu/Debian

Um den Rabbitmq-Status unter Ubuntu/Debian zu starten, zu stoppen, neu zu starten und zu überprüfen, verwenden Sie die folgenden Befehle:

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

Jetzt ist Ihr Rabbitmq-Server einsatzbereit!

RabbitMQ-Konfiguration

RabbitMQ wird mit Standardeinstellungen geliefert. Im Allgemeinen sind sie ziemlich zuverlässig und erfordern keine Bearbeitung.


Linux
  1. So installieren Sie RabbitMQ unter CentOS/RHEL 7/6 und Fedora

  2. Installieren Sie Apache und PHP unter CentOS 7

  3. Speicherüberwachung und -verwaltung

  4. So installieren Sie RabbitMQ Server und Erlang unter Linux

  5. DESTDIR und PREFIX des Herstellers

So installieren Sie RabbitMQ unter CentOS 8

So installieren und konfigurieren Sie Grafana

Installieren Sie PostgreSQL 11 und PgAdmin4 auf Ubuntu 18.04

So installieren Sie das Foreman Configuration Management and Provisioning Tool unter CentOS 8

Installieren und konfigurieren Sie phpMyAdmin

So installieren Sie die AMQP-PHP-Erweiterung und den RabbitMQ-Client unter Linux