Zum Hauptinhalt springen
Version: 3.0.0-alpha (Diátaxis)

Konzepte — RabbitMQ

Architektur

RabbitMQ auf Hikube ist ein verwalteter Messaging-Dienst basierend auf dem AMQP-Protokoll. Jede über die Ressource RabbitMQ bereitgestellte Instanz erstellt einen Hochverfügbarkeits-Cluster mit Quorum Queues (Raft-Protokoll) für die Nachrichtenreplikation.


Terminologie

BegriffBeschreibung
RabbitMQKubernetes-Ressource (apps.cozystack.io/v1alpha1), die einen verwalteten RabbitMQ-Cluster darstellt.
AMQPAdvanced Message Queuing Protocol — Standard-Messaging-Protokoll, das von RabbitMQ unterstützt wird.
ExchangeEinstiegspunkt für Nachrichten. Routet Nachrichten über Bindings an Queues.
QueueWarteschlange, die Nachrichten speichert, bis ein Consumer sie verarbeitet.
BindingRouting-Regel zwischen einem Exchange und einer Queue (basierend auf einem Routing Key).
Quorum QueueQueue-Typ, der das Raft-Protokoll verwendet, um Nachrichten auf mehreren Knoten zu replizieren.
Virtual Host (vhost)Logischer Namespace, der Exchanges, Queues und Berechtigungen innerhalb desselben Clusters isoliert.
ConsumerAnwendung, die Nachrichten aus einer Queue liest und verarbeitet.
resourcesPresetVordefiniertes Ressourcenprofil (nano bis 2xlarge).

Nachrichtenrouting

RabbitMQ verwendet ein flexibles Routing-Modell basierend auf Exchanges und Bindings:

Exchange-Typen

TypRouting
directExakter Routing Key
topicPattern Matching mit Wildcards (*, #)
fanoutBroadcast an alle gebundenen Queues
headersRouting basierend auf den Message-Headers

Quorum Queues und Hochverfügbarkeit

Die Quorum Queues verwenden das Raft-Protokoll zur Nachrichtenreplikation:

  1. Ein Knoten wird zum Leader für jede Queue gewählt
  2. Die Nachrichten werden vor der Bestätigung auf die Follower repliziert
  3. Bei Ausfall des Leaders wird automatisch ein Follower befördert
Tipp

Konfigurieren Sie mindestens replicas: 3, um das Raft-Quorum und die Hochverfügbarkeit der Quorum Queues zu gewährleisten.


Virtual Hosts

Die Vhosts isolieren Ressourcen innerhalb desselben Clusters:

  • Jeder Vhost hat seine eigenen Exchanges, Queues und Berechtigungen
  • Benutzer können pro Vhost unterschiedliche Rollen haben: admin oder readonly
  • Nützlich zur Trennung von Umgebungen (Produktion, Staging) auf demselben Cluster

Benutzerverwaltung

Die Benutzer werden im Manifest deklariert mit:

  • Passwort für die Authentifizierung
  • Rollen pro Vhost: admin (Lesen/Schreiben/Konfiguration), readonly (nur Lesen)

Die Zugangsdaten werden im Secret <instance>-credentials gespeichert.


Ressourcen-Presets

PresetCPUSpeicher
nano250m128Mi
micro500m256Mi
small1512Mi
medium11Gi
large22Gi
xlarge44Gi
2xlarge88Gi

Grenzen und Kontingente

ParameterWert
Max. ReplikateJe nach Tenant-Kontingent
Speichergröße (size)Variabel (in Gi)
Vhosts pro ClusterUnbegrenzt (je nach Ressourcen)
Unterstützte ProtokolleAMQP 0-9-1, AMQP 1.0, MQTT, STOMP

Weiterführende Informationen