RabbitMQ Messaging & Async Systems · Lektion

Shovel Plugin für Federation

Nutzen Sie das Shovel Plugin, um Nachrichten zuverlässig zwischen Brokern zu verschieben, auch über WANs hinweg. Integrieren Sie verschiedene RabbitMQ-Instanzen oder -Cluster nahtlos.

Lektion 2 von 410 Schritte

Shovel Plugin für Federation ist eine kostenlose RabbitMQ Messaging & Async Systems-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des RabbitMQ Messaging & Async Systems-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der RabbitMQ Messaging & Async Systems-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Meet the RabbitMQ Shovel

Welcome to the Shovel plugin! RabbitMQ is great for local messaging, but what if you need to send messages between brokers located far apart, perhaps in different data centers?

The Shovel plugin is designed to reliably move messages from a queue on one RabbitMQ broker to an exchange or queue on another, even across wide area networks (WANs).

Why Use the Shovel Plugin?

The Shovel plugin acts like a bridge, offering several key benefits:

  • Broker Decoupling: Connect different RabbitMQ instances without complex network setups or full clustering.
  • WAN Reliability: It automatically handles network interruptions and reconnects, ensuring messages eventually reach their destination.
  • Data Replication: Useful for disaster recovery scenarios, replicating messages between primary and secondary brokers.
  • Version Compatibility: Bridge brokers running different RabbitMQ versions.

How Shovel Works: The Basics

Think of Shovel as a persistent helper:

  • It consumes messages from a specific source queue on one broker.
  • It then publishes these messages to a destination exchange or queue on another broker.
  • This process happens continuously and reliably, even if connections temporarily fail.

It's like having a dedicated worker whose only job is to move messages from point A to point B, no matter the distance.

Static vs. Dynamic Shovels

RabbitMQ offers two main types of shovels:

  • Static Shovels: These are configured directly on a RabbitMQ node, often via the command-line interface (CLI) or Management UI. They are fixed and run as long as the broker is active.
  • Dynamic Shovels: More flexible, these are configured using runtime parameters or policies. They can be created, updated, or deleted on the fly, making them ideal for more transient or policy-driven message flows.

Configuring a Static Shovel

To set up a static shovel, you define its source and destination. Here’s a conceptual CLI command:

rabbitmqctl shovel add [name] --uri=[source_uri] --source-queue=[q_name] --destination-uri=[dest_uri] --destination-exchange=[ex_name]

You specify connection details (URIs) for both brokers and the exact queue/exchange to use.

rabbitmqctl shovel add my-shovel \
  --uri=amqp://guest:guest@broker1:5672/ \
  --source-queue=my-local-queue \
  --destination-uri=amqp://guest:guest@broker2:5672/ \
  --destination-exchange=my-remote-exchange

Static Shovel Parameters

Let's break down the key parameters for a static shovel:

  • --uri: Connection string for the source broker.
  • --source-queue: The name of the queue on the source broker from which messages will be consumed.
  • --destination-uri: Connection string for the destination broker.
  • --destination-exchange (or --destination-queue): The name of the exchange or queue on the destination broker where messages will be published.

The plugin handles all the underlying AMQP connection management.

Dynamic Shovels via Policies

Dynamic shovels are powerful for managing many similar message flows. Instead of adding each shovel manually, you can define a policy.

A policy specifies rules (e.g., matching queue names with a pattern) that automatically create shovels. This is great for:

  • Automatically bridging new queues that match a naming convention.
  • Managing shovel configurations centrally.

Monitoring Your Shovels

It's important to monitor your shovels to ensure messages are flowing correctly.

You can check their status using the RabbitMQ Management UI (under the 'Shovels' tab) or via the CLI:

rabbitmqctl shovel status

Shovel Checkpoint

Test your understanding of RabbitMQ Shovel's capabilities.

Shoveling Messages: A Recap

You've learned about the powerful RabbitMQ Shovel plugin!

  • It reliably moves messages between different RabbitMQ brokers.
  • Shovel acts as a consumer on a source and a producer to a destination, handling reconnections automatically.
  • We covered both static (fixed configuration) and dynamic (policy-driven) shovels.
  • Shovel is crucial for integrating systems across WANs, ensuring message durability, and enabling disaster recovery.

It's an essential tool for building robust, distributed messaging systems!

Kostenlos starten

Lerne RabbitMQ Messaging & Async Systems mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
11
Lektionen
44

Häufig gestellte Fragen

Ist die Lektion „Shovel Plugin für Federation“ kostenlos?

Ja — der vollständige Text von „Shovel Plugin für Federation“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des RabbitMQ Messaging & Async Systems-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der RabbitMQ Messaging & Async Systems-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Shovel Plugin für Federation“?

Nutzen Sie das Shovel Plugin, um Nachrichten zuverlässig zwischen Brokern zu verschieben, auch über WANs hinweg. Integrieren Sie verschiedene RabbitMQ-Instanzen oder -Cluster nahtlos. Du übst RabbitMQ Messaging & Async Systems mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um RabbitMQ Messaging & Async Systems zu starten?

Keine Vorkenntnisse erforderlich. RabbitMQ Messaging & Async Systems auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Shovel Plugin für Federation“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser RabbitMQ Messaging & Async Systems-Lektion Code schreiben und ausführen?

Ja. Jede RabbitMQ Messaging & Async Systems-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Plugin für verzögerte Nachrichten
  2. Shovel Plugin für Federation
  3. Federation Plugin für Clustering
  4. Nachrichtenduplikatserkennung & Consistent-Hash-Exchange-Plugins
← Zurück zu RabbitMQ Messaging & Async Systems