Oversigt over replikering i MongoDB

MongoDB er en open-source dokumentorienteret database, som er meget skalerbar, den er en NoSQL-database. Det kan bruges til datalagring med høj lydstyrke.

MongoDB lagrer dataene i JSON-lignende format, som er meget fleksibelt, og dokumentmodellen kortlægger derefter objekterne i applikationskoder.

Hvad er MongoDB-replikation?

Med replikation menes klynge af servere, der udfører den samme funktionalitet. For MongoDB har vi MongoDB-servere til lagring af dataene. Formålet med replikering er at sikre, at vi har stor datatilgængelighed. Hvis nogen af ​​serverne går ned, skal vi altid have en kopi af de tilgængelige data på en anden server, så tilgængeligheden ikke påvirkes.

Data skal replikeres med jævne mellemrum og med regelmæssige intervaller for at sikre, at vi ikke mister nogen data, og selv hvis den primære server går ned, skal den anden være i stand til at betjene brugeranmodningerne.

Replikeringen er også meget effektiv i tilfælde af belastningsbalancering, hvis vi f.eks. Har et antal brugere, der prøver at læse eller skrive data til servere, i det tilfælde ville det være uretfærdigt, hvis al anmodningen sendes eller hentes fra bare en server, skal der være en afbalanceringsmekanisme, der lige bør fordele belastningen til de tilgængelige servere i klyngen, så ingen server løber tør for hukommelse eller båndbredde og går ned.

Arbejde med replikering i MongoDB-processen

Replikeringen i MongoDB opnås ved hjælp af Replica-sæt. Replikasæt er gruppen af ​​MongoDB-servere. Der er en primær server, og den er ansvarlig for at modtage alle forespørgsler eller skrivehandlinger fra klienter, og de andre forekomster, der vil blive føjet til replikasættet, kaldes de sekundære forekomster, der er ansvarlige for alle læsefunktioner.

  • Som illustreret i ovenstående diagram, replikerer alle data den primære knude til sekundære noder, der vil kun være en primær knude i ethvert replikasæt.
  • Hver gang en failover sker, eller der udføres en eller anden vedligeholdelsesaktivitet, vælges en ny primær knude.
  • Når failover er gendannet, fungerer den mislykkede knude nu som en sekundær knude.
  • Klientapplikationen kommunikerer altid med den primære node, der derefter følges af replikation af data til alle de sekundære noder.

Replicasæt, oprettelse og betjening

For at oprette en fuldgyldig replikation af MongoDB-servere er vi først forpligtet til at oprette et replikasæt med MongoDB-forekomster.

Lad os forestille os, at vi har tre servere, repl1, repl2 og repl3, hvor repl1 er den primære server, og de resterende er sekundære servere.

Tilføjelse af primær noderreplikation i MongoDB:

  • Sørg for, at forekomster af mongo.exe er installeret på alle de givne servere.
  • Alle mongod.exe skal være i stand til at pinge hinanden, dvs. de er i stand til at kommunikere. For at kontrollere det samme, skal du køre følgende kommandoer fra de primære servere (først) dvs. repl1 i vores tilfælde.

mongo –host repl2 –port 27017

mongo –host repl3 –port 27017

Tilsvarende kan vi også udføre den samme test fra andre servere

  • Ved at bruge kommandoen, mongo –replset, skal vi være i stand til at starte vores første mongod.exe-forekomst.
    mongo –replset “Replica_A” Hvor Replica_A er navnet på vores replikasæt.
  • Som for nu har vi føjet den første server til vores replikasæt, det næste trin er at starte replika-sæt ved at udstede kommandoen rs.initiate ().
  • Det næste trin er verifikationstrinnet, hvor vi vil sikre, at uanset hvad vi har konfigureret indtil videre er korrekt, kan vi gøre det ved at køre kommandoen rs.conf ().

Tilføjelse af sekundær noderreplikation i MongoDB:

Når den primære server er tilføjet, er det let at tilføje de andre sekundære noder, det kan vi gøre ved at udstede kommandoen rs.add ().

Kør derfor kommandoen nedenfor, da repl1 er vores primære server, og repl2 og repl3 er henholdsvis sekundære servere.

rs.add ( ”repl2”)

rs.add ( ”repl3”)

Fjernelse af servere fra replikasæt:

For at fjerne en server fra ethvert replika-sæt, kan det gøres ved hjælp af kommandoen rs.remove ().

Der er visse trin, der er involveret i processen som beskrevet nedenfor:

  • Luk først det tilfælde, der kræves fjernet. Dette kan gøres ved at køre kommandoen db.shutdownserver via mongo-celle.
  • Det næste trin er at oprette forbindelse til den primære server.
  • Kør følgende kommando, lad os sige, at vi har repl1, repl2 og repl3 som henholdsvis primære og sekundære servere, og vi vil fjerne repl3, så kører vi følgende kommando:

rs.remove ( ”repl3”)

Nogle kommandoer til fejlfinding

  • Alle mongod.exe skal være i stand til at pinge hinanden, dvs. de er i stand til at kommunikere. For at kontrollere det samme, skal du køre følgende kommandoer fra de primære servere (først) dvs. repl1 i vores tilfælde.

mongo –host repl2 –port 27017

mongo –host repl3 –port 27017

Tilsvarende kan vi også udføre den samme test fra andre servere

  • Rs.status () giver status for dit replika-sæt
  • Udskriv denne kommando - rs.printReplicationInfo for at kontrollere oplog, som er en log til registrering af alle de skriveoperationer, der blev foretaget.

Fordele ved replikering i MongoDB

Formålet med replikering er at sikre, at vi har stor datatilgængelighed. I tilfælde af at en af ​​serverne går ned, skal vi altid have en kopi af de tilgængelige data på en anden server, så tilgængeligheden ikke påvirkes. Replikeringen er også meget effektiv i tilfælde af belastningsbalancering, for eksempel hvis vi har et nummer af brugere af forsøger at læse eller skrive data til servere.

Så lang historie er kort, de vigtigste fordele ved replikation tjener følgende formål:

  1. Høj tilgængelighed
  2. Load Balancing

Konklusion:

Som vi har set, er MongoDB-replikation en proces, hvor vi replikerer dataene på mere end en server for at sikre høj tilgængelighed. Dette kan gøres ved at oprette et replikasæt og tilføje de primære og sekundære servere.

Anbefalede artikler:

Dette har været en guide til replikering i MongoDB. Her diskuterer vi oprettelse, betjening, arbejde, fordele og nogle kommandoer til fejlfinding. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. MongoDB GUI-værktøjer
  2. MongoDB-kommandoer
  3. MongoDB-alternativer
  4. Sådan installeres MongoDB