RabbitMQ-meldinger og asynkrone systemer · leksjon

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.

Leksjon 2 av 410 trinn

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-exchange

Parametere 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 status

Kontrollpunkt 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!

Gratis å komme i gang

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

  1. Programtillegg for forsinkede meldinger
  2. Shovel-plugin for føderering
  3. Federation-plugin for klynging
  4. Plugins for meldingsdeduplisering og konsistent hash-exchange
← Tilbake til RabbitMQ-meldinger og asynkrone systemer