Entwickler, der außergewöhnliche CRM- und Laravel-Lösungen liefert

Als erfahrener Entwickler spezialisiere ich mich auf Laravel- und Vue.js-Entwicklung, die Implementierung von Vtiger CRM sowie auf vielfältige WordPress-Projekte. Meine Arbeit zeichnet sich durch kreative, dynamische und benutzerzentrierte Weblösungen aus, die individuell an die Bedürfnisse meiner Kunden angepasst werden.

RabbitMQ ist ein Message-Broker, der auf dem AMQP-Protokoll (Advanced Message Queuing Protocol) basiert. Es ermöglicht die asynchrone Kommunikation zwischen Anwendungskomponenten, indem Nachrichten in Warteschlangen (Queues) verwaltet und weitergeleitet werden. Dieser Artikel erklärt die Grundkonzepte und führt Sie durch die Installation auf Ubuntu.

RabbitMQ: Was ist das und wie installiert man es?

RabbitMQ ist ein Message-Broker, der auf dem AMQP-Protokoll (Advanced Message Queuing Protocol) basiert. Es ermöglicht die asynchrone Kommunikation zwischen Anwendungskomponenten, indem Nachrichten in Warteschlangen (Queues) verwaltet und weitergeleitet werden. Dieser Artikel erklärt die Grundkonzepte und führt Sie durch die Installation auf Ubuntu.


AMQP-Kernkonzepte

  1. Nachrichten-Broker: Die zentrale Komponente, die Nachrichten von Produzenten entgegennimmt und an Konsumenten verteilt.
  2. Virtueller Host (vHost): Eine isolierte Umgebung innerhalb des Brokers (z. B. für Dev/Prod).
  3. Verbindung (Connection): Eine TCP-Verbindung zwischen Client und Broker.
  4. Kanal (Channel): Ein virtueller Kanal innerhalb einer Verbindung, um Ressourcen zu sparen.
  5. Exchange: Verteilt Nachrichten an Queues basierend auf Regeln (Routing Keys).
  6. Queue: Eine geordnete Liste von Nachrichten, die auf Verarbeitung warten.
  7. Binding: Verknüpft einen Exchange mit einer Queue.

Einsatzszenarien

  • Microservices-Architektur: Entkopplung von Diensten (z. B. Bestellungen → Zahlungen → Versand).
  • Ereignisgesteuerte Systeme: Benachrichtigungen, Logging oder Background-Jobs (z. B. Social-Media-Feeds).
  • Lastverteilung: Parallele Verarbeitung großer Datenmengen.

Installation auf Ubuntu

Schritt 1: System aktualisieren

sudo apt-get update
sudo apt-get dist-upgrade -y

Schritt 2: Abhängigkeiten installieren

sudo apt install curl gnupg apt-transport-https -y

Schritt 3: Repository hinzufügen

curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor > /usr/share/keyrings/rabbitmq.gpg

Repository-Quellen

echo "deb [signed-by=/usr/share/keyrings/rabbitmq.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
sudo apt-get update -y

Schritt 4: RabbitMQ installieren


sudo apt-get install -y erlang-base rabbitmq-server

Schritt 5: Service starten


sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server
sudo systemctl status rabbitmq-server

---

Konfiguration

Management-Plugin aktivieren

sudo rabbitmq-plugins enable rabbitmq_management

Benutzer anlegen
- Administrator:


sudo rabbitmqctl add_user admin admin123
sudo rabbitmqctl set_user_tags admin administrator

Entwickler-Benutzer:

sudo rabbitmqctl add_user dev dev123

Virtuellen Host erstellen

sudo rabbitmqctl add_vhost dev_vhost
sudo rabbitmqctl set_permissions -p dev_vhost dev "." "." ".*" # Vollzugriff

Standard-Benutzer (guest) deaktivieren

sudo rabbitmqctl delete_user guest

Zugriff auf die Web-Oberfläche

Öffnen Sie im Browser:

http://[Server-IP]:15672

- Login: `admin` / `admin123`
- Dashboard: Überwachen Sie Queues, Exchanges und Verbindungen.

Beispiel: Eine Nachricht senden

Mit dem `rabbitmqadmin`-Tool (Installation separat):

rabbitmqadmin publish exchange=amq.default routing_key=test_queue payload="Hallo, RabbitMQ!"

Troubleshooting

- Ports freigeben:

sudo ufw allow 5672/tcp # AMQP
sudo ufw allow 15672/tcp # Management-UI

- Logs einsehen:

journalctl -u rabbitmq-server -f


Fazit

RabbitMQ ist ein leistungsstarker Broker für asynchrone Kommunikation. Mit dieser Anleitung haben Sie:

  1. RabbitMQ installiert
  2. Benutzer und virtuelle Hosts konfiguriert
  3. Die Management-Oberfläche aktiviert

Für komplexe Setups (Cluster, TLS) lesen Sie die offizielle Dokumentation.

Fragen? Stellen Sie sie in den Kommentaren!