Shovel-plugin for føderering
Bruk Shovel-pluginen til å flytte meldinger pålitelig mellom brokere, også over WAN-nettverk. Integrer ulike RabbitMQ-instanser eller -klynger sømløst.
Shovel-plugin for føderering er en gratis leksjon i RabbitMQ-meldinger og asynkrone systemer på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i RabbitMQ-meldinger og asynkrone systemer, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i RabbitMQ-meldinger og asynkrone systemer inneholder totalt 4 leksjoner.
Møt RabbitMQ Shovel
Velkommen til Shovel-plugin-modulen! RabbitMQ er utmerket for lokal meldingshåndtering, men hva om De må sende meldinger mellom brokere som befinner seg langt fra hverandre, kanskje i ulike datasentre?
Shovel-plugin-modulen er utviklet for å flytte meldinger på en pålitelig måte fra en kø på én RabbitMQ-broker til en exchange eller kø på en annen, også over wide area networks (WAN).
Hvorfor bruke Shovel-plugin-modulen
Shovel-plugin-modulen fungerer som en bro og tilbyr flere viktige fordeler:
- Frikobling av brokere: Koble sammen ulike RabbitMQ-instanser uten komplekse nettverksoppsett eller full klynging.
- WAN-pålitelighet: Den håndterer automatisk nettverksavbrudd og kobler til på nytt, slik at meldingene til slutt når bestemmelsesstedet.
- Datareplikering: Nyttig i situasjoner med katastrofegjenoppretting, der meldinger replikeres mellom primære og sekundære brokere.
- Versjonskompatibilitet: Koble sammen brokere som kjører ulike RabbitMQ-versjoner.
Slik fungerer Shovel: Grunnleggende
Tenk på Shovel som en vedvarende hjelper:
- Den konsumerer meldinger fra en bestemt kø på kilden på én broker.
- Deretter publiserer den meldingene til en destinasjonsexchange eller destinasjonskø på en annen broker.
- Denne prosessen foregår kontinuerlig og pålitelig, selv om forbindelser midlertidig svikter.
Det er som å ha en dedikert arbeider som bare har til oppgave å flytte meldinger fra punkt A til punkt B, uansett avstand.
Statiske kontra dynamiske Shovel-konfigurasjoner
RabbitMQ tilbyr to hovedtyper Shovel-konfigurasjoner:
- Statiske Shovel-konfigurasjoner: Disse konfigureres direkte på en RabbitMQ-node, ofte via kommandolinjegrensesnittet (CLI) eller Management UI. De er faste og kjører så lenge brokeren er aktiv.
- Dynamiske Shovel-konfigurasjoner: Disse er mer fleksible og konfigureres ved hjelp av runtime-parametere eller policyer. De kan opprettes, oppdateres eller slettes under kjøring, noe som gjør dem ideelle for mer midlertidige eller policybaserte meldingsflyter.
Konfigurere en statisk Shovel
For å sette opp en statisk Shovel definerer De kilde og destinasjon. Her er en konseptuell CLI-kommando:
rabbitmqctl shovel add [name] --uri=[source_uri] --source-queue=[q_name] --destination-uri=[dest_uri] --destination-exchange=[ex_name]
De angir tilkoblingsdetaljer (URI-er) for begge brokerne samt den nøyaktige køen eller exchangen som skal brukes.
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-exchangeParametere for statisk Shovel
La oss se nærmere på de viktigste parameterne for en statisk Shovel:
--uri: Tilkoblingsstreng for kildebrokeren.--source-queue: Navnet på køen på kildebrokeren som meldingene skal konsumeres fra.--destination-uri: Tilkoblingsstreng for destinasjonsbrokeren.--destination-exchange(eller--destination-queue): Navnet på exchangen eller køen på destinasjonsbrokeren der meldingene skal publiseres.
Plugin-modulen håndterer all underliggende AMQP-tilkoblingsadministrasjon.
Dynamiske Shovel-konfigurasjoner via policyer
Dynamiske Shovel-konfigurasjoner er svært nyttige når De skal administrere mange lignende meldingsflyter. I stedet for å legge til hver Shovel manuelt kan De definere en policy.
En policy angir regler (for eksempel å matche kønavn med et mønster) som automatisk oppretter Shovel-konfigurasjoner. Dette er nyttig for:
- Å koble sammen nye køer automatisk når de følger en navnekonvensjon.
- Å administrere Shovel-konfigurasjoner sentralt.
Overvåke Shovel-konfigurasjonene
Det er viktig å overvåke Shovel-konfigurasjonene for å sikre at meldingene flyter som de skal.
De kan kontrollere statusen deres i RabbitMQ Management UI (under fanen «Shovels») eller via CLI:
rabbitmqctl shovel statusKontrollpunkt for Shovel
Test forståelsen Deres av funksjonene i RabbitMQ Shovel.
Flytting av meldinger med Shovel: Oppsummering
De har lært om den kraftige RabbitMQ Shovel-plugin-modulen!
- Den flytter meldinger på en pålitelig måte mellom ulike RabbitMQ-brokere.
- Shovel fungerer som en konsument ved kilden og en produsent ved destinasjonen, og håndterer automatisk nye tilkoblingsforsøk.
- Vi har gått gjennom både statiske (fast konfigurasjon) og dynamiske (policybaserte) Shovel-konfigurasjoner.
- Shovel er avgjørende for å integrere systemer over WAN, sikre meldingsvarighet og muliggjøre katastrofegjenoppretting.
Det er et viktig verktøy for å bygge robuste, distribuerte meldingssystemer!
Lær deg RabbitMQ-meldinger og asynkrone systemer med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 11
- Leksjoner
- 44
Ofte stilte spørsmål
Er leksjonen «Shovel-plugin for føderering» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien RabbitMQ-meldinger og asynkrone systemer, inkludert «Shovel-plugin for føderering», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i RabbitMQ-meldinger og asynkrone systemer inneholder totalt 4 leksjoner.
Hva lærer jeg i «Shovel-plugin for føderering»?
Bruk Shovel-pluginen til å flytte meldinger pålitelig mellom brokere, også over WAN-nettverk. Integrer ulike RabbitMQ-instanser eller -klynger sømløst. Du øver på RabbitMQ-meldinger og asynkrone systemer med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med RabbitMQ-meldinger og asynkrone systemer?
Ingen tidligere erfaring er nødvendig. RabbitMQ-meldinger og asynkrone systemer på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Shovel-plugin for føderering»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne RabbitMQ-meldinger og asynkrone systemer-leksjonen?
Ja. Alle RabbitMQ-meldinger og asynkrone systemer-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Programtillegg for forsinkede meldinger
- Shovel-plugin for føderering
- Federation-plugin for klynging
- Plugins for meldingsdeduplisering og konsistent hash-exchange