Shovel-plugin voor federatie
Gebruik de Shovel-plugin om berichten betrouwbaar tussen brokers te verplaatsen, zelfs via WAN's. Integreer verschillende RabbitMQ-instanties of -clusters naadloos.
Shovel-plugin voor federatie is een gratis RabbitMQ-berichten en asynchrone systemen-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject RabbitMQ-berichten en asynchrone systemen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus RabbitMQ-berichten en asynchrone systemen bevat in totaal 4 lessen.
Maak kennis met RabbitMQ Shovel
Welkom bij de Shovel-plug-in! RabbitMQ is uitstekend geschikt voor lokale berichtverwerking, maar wat doe je als je berichten wilt versturen tussen brokers die ver uit elkaar staan, bijvoorbeeld in verschillende datacenters?
De Shovel-plug-in is ontworpen om berichten betrouwbaar te verplaatsen van een wachtrij op de ene RabbitMQ-broker naar een exchange of wachtrij op een andere broker, zelfs via wide area networks (WAN's).
Waarom de Shovel-plug-in gebruiken?
De Shovel-plug-in werkt als een brug en biedt verschillende belangrijke voordelen:
- Ontkoppeling van brokers: verbind verschillende RabbitMQ-instanties zonder complexe netwerkconfiguraties of volledige clustering.
- Betrouwbaarheid via WAN's: netwerkonderbrekingen worden automatisch afgehandeld en verbindingen worden opnieuw tot stand gebracht, zodat berichten uiteindelijk hun bestemming bereiken.
- Gegevensreplicatie: nuttig voor scenario's voor noodherstel, waarbij berichten tussen primaire en secundaire brokers worden gerepliceerd.
- Versiecompatibiliteit: verbind brokers waarop verschillende RabbitMQ-versies draaien.
Hoe Shovel werkt: de basis
Zie Shovel als een permanente hulp:
- De plug-in consumeert berichten uit een specifieke bronwachtrij op de ene broker.
- Vervolgens publiceert de plug-in deze berichten naar een bestemmingsexchange of bestemmingswachtrij op een andere broker.
- Dit proces vindt voortdurend en betrouwbaar plaats, zelfs als verbindingen tijdelijk uitvallen.
Het is alsof je een toegewezen werker hebt wiens enige taak het is om berichten van punt A naar punt B te verplaatsen, ongeacht de afstand.
Statische versus dynamische Shovels
RabbitMQ biedt twee hoofdtypen Shovels:
- Statische Shovels: deze worden rechtstreeks op een RabbitMQ-node geconfigureerd, vaak via de opdrachtregelinterface (CLI) of de beheerinterface. Ze zijn vast ingesteld en blijven actief zolang de broker actief is.
- Dynamische Shovels: deze zijn flexibeler en worden geconfigureerd met runtimeparameters of beleidsregels. Je kunt ze direct aanmaken, bijwerken of verwijderen, waardoor ze ideaal zijn voor tijdelijke of door beleid gestuurde berichtenstromen.
Een statische Shovel configureren
Om een statische Shovel in te stellen, definieer je de bron en bestemming. Dit is een conceptuele CLI-opdracht:
rabbitmqctl shovel add [name] --uri=[source_uri] --source-queue=[q_name] --destination-uri=[dest_uri] --destination-exchange=[ex_name]
Je geeft de verbindingsgegevens (URI's) voor beide brokers op, evenals de exacte wachtrij of exchange die moet worden gebruikt.
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-exchangeParameters van een statische Shovel
Laten we de belangrijkste parameters van een statische Shovel bekijken:
--uri: verbindingsreeks voor de bronbroker.--source-queue: de naam van de wachtrij op de bronbroker waaruit berichten worden geconsumeerd.--destination-uri: verbindingsreeks voor de bestemmingsbroker.--destination-exchange(of--destination-queue): de naam van de exchange of wachtrij op de bestemmingsbroker waarnaar berichten worden gepubliceerd.
De plug-in beheert al het onderliggende AMQP-verbindingsbeheer.
Dynamische Shovels via beleidsregels
Dynamische Shovels zijn krachtig voor het beheren van veel vergelijkbare berichtenstromen. In plaats van elke Shovel handmatig toe te voegen, kun je een beleidsregel definiëren.
Een beleidsregel bevat regels (bijvoorbeeld voor het matchen van wachtrijnamen met een patroon) waarmee automatisch Shovels worden aangemaakt. Dit is handig voor:
- Automatisch nieuwe wachtrijen overbruggen die aan een naamgevingsconventie voldoen.
- Shovelconfiguraties centraal beheren.
Je Shovels bewaken
Het is belangrijk om je Shovels te bewaken, zodat je zeker weet dat berichten correct worden doorgestuurd.
Je kunt hun status controleren via de RabbitMQ-beheerinterface (onder het tabblad 'Shovels') of via de CLI:
rabbitmqctl shovel statusControle van Shovel
Controleer of je begrijpt wat RabbitMQ Shovel kan.
Berichten verplaatsen met Shovel: samenvatting
Je hebt kennisgemaakt met de krachtige RabbitMQ Shovel-plug-in!
- De plug-in verplaatst berichten betrouwbaar tussen verschillende RabbitMQ-brokers.
- Shovel werkt als consument op een bron en als producent voor een bestemming en handelt het opnieuw verbinden automatisch af.
- We hebben zowel statische (vaste configuratie) als dynamische (door beleidsregels gestuurde) Shovels behandeld.
- Shovel is essentieel voor het integreren van systemen via WAN's, het garanderen van berichtduurzaamheid en het mogelijk maken van noodherstel.
Het is een onmisbaar hulpmiddel voor het bouwen van robuuste, gedistribueerde berichtsystemen!
Leer RabbitMQ-berichten en asynchrone systemen met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 11
- Lessen
- 44
Veelgestelde vragen
Is de les “Shovel-plugin voor federatie” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad RabbitMQ-berichten en asynchrone systemen, waaronder “Shovel-plugin voor federatie”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus RabbitMQ-berichten en asynchrone systemen bevat in totaal 4 lessen.
Wat leer ik in “Shovel-plugin voor federatie”?
Gebruik de Shovel-plugin om berichten betrouwbaar tussen brokers te verplaatsen, zelfs via WAN's. Integreer verschillende RabbitMQ-instanties of -clusters naadloos. Je oefent met RabbitMQ-berichten en asynchrone systemen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met RabbitMQ-berichten en asynchrone systemen te beginnen?
Ervaring vooraf is niet nodig. RabbitMQ-berichten en asynchrone systemen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Shovel-plugin voor federatie”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over RabbitMQ-berichten en asynchrone systemen?
Ja. Elke les over RabbitMQ-berichten en asynchrone systemen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Plugin voor vertraagde berichten
- Shovel-plugin voor federatie
- Federation-plugin voor clustering
- Message deduplication en Consistent Hash Exchange-plugins