Översikt över replikering i MongoDB

MongoDB är en öppen källkodsorienterad databas som är mycket skalbar, den är en NoSQL-databas. Det kan användas för datalagring med hög volym.

MongoDB lagrar uppgifterna i JSON-liknande format som är mycket flexibelt och dokumentmodellen kartlägger sedan till objekten i applikationskoder.

Vad är MongoDB-replikering?

Med replikering menar vi gruppering av servrar som utför samma funktionalitet. När det gäller MongoDB har vi MongoDB-servrar för lagring av data. Syftet med replikering är att se till att vi har hög datatillgänglighet. Om någon av servrarna går ner bör vi alltid ha en kopia av data tillgängliga på en annan server så att tillgängligheten inte påverkas.

Data bör replikeras regelbundet och med jämna mellanrum för att se till att vi inte tappar på några data, och även om den primära servern går ner, bör den andra kunna betjäna användarförfrågningarna.

Replikationen är också mycket effektiv i fallet med lastbalansering, till exempel, om vi har ett antal användare som försöker läsa eller skriva data till servrar, i så fall skulle det vara orättvist om all begäran skickas eller hämtas från bara en server, det bör finnas en balanseringsmekanism som ska lika fördela belastningen till de tillgängliga servrarna i klustret så att ingen server går tom för minne eller bandbredd och går ner.

Arbetar med replikering i MongoDB-processen

Replikationen i MongoDB uppnås med hjälp av replikuppsättningar. Replikauppsättningar är grupperingen av MongoDB-servrar. Det finns en primär server och den ansvarar för att ta emot alla förfrågningar eller skrivoperationer från klienter och de andra instansen som läggs till replikuppsättningen kommer att kallas som de sekundära instanserna som kommer att ansvara för alla läsoperationer.

  • Som illustreras i diagrammet ovan, alla data replikerar den primära noden till sekundära noder, det kommer endast att finnas en primär nod i någon replikuppsättning.
  • Närhelst en failover händer eller någon underhållsaktivitet utförs väljs en ny primär nod.
  • När failover har återhämtats fungerar nu den misslyckade noden som en sekundär nod.
  • Klientapplikationen kommunicerar alltid med den primära noden, som sedan följs av replikering av data till alla sekundära noder.

Replikauppsättningar, skapande och funktioner

För att skapa en fullständig replikering av MongoDB-servrar måste vi först skapa en replikuppsättning av MongoDB-instanser.

Låt oss föreställa oss att vi har tre servrar, repl1, repl2 och repl3 där repl1 är den primära servern och de återstående är sekundära.

Lägga till replikering av primär nod i MongoDB:

  • Se till att mongo.exe-instanser är installerade på alla givna servrar.
  • Alla mongod.exe måste kunna pinga varandra, dvs de kan kommunicera. För att kontrollera detsamma, kör följande kommandon från de primära servrarna (till en början), dvs repl1 i vårt fall.

mongo –host repl2 –port 27017

mongo –host repl3 –port 27017

På samma sätt kan vi också göra samma test från andra servrar

  • Genom att använda kommandot, mongo –replset, borde vi kunna starta vår första mongod.exe-instans.
    mongo –replset “Replica_A” där Replica_A är namnet på vår replikuppsättning.
  • Nu har vi lagt till den första servern i vår replikuppsättning, nästa steg är att initiera replikuppsättningen genom att utfärda kommandot rs.initiate ().
  • Nästa steg är verifieringssteget där vi kommer att se till att allt vi har konfigurerat hittills är korrekt kan vi göra det genom att köra kommandot rs.conf ().

Lägga till replikering av sekundär nod i MongoDB:

När den primära servern har lagts till är det lätt att lägga till de andra sekundära noderna, det kan vi göra genom att utfärda kommandot rs.add ().

Kör därför kommandot nedan, eftersom repl1 är vår primära server och repl2 och repl3 är sekundära servrar respektive.

rs.add ( ”repl2”)

rs.add ( ”repl3”)

Ta bort servrar från replikuppsättningen:

För att ta bort en server från alla replikuppsättningar kan den göras med kommandot rs.remove ().

Det finns vissa steg som är involverade i processen enligt nedan:

  • Stäng först av instansen som måste tas bort. Detta kan göras genom att köra kommandot db.shutdownserver via mongo cell.
  • Nästa steg är att ansluta till den primära servern.
  • Kör följande kommando, låt oss säga att vi har repl1, repl2 och repl3 som primära respektive sekundära servrar och vi vill ta bort repl3, då kör vi följande kommando:

rs.remove ( ”repl3”)

Några kommandon för felsökning

  • Alla mongod.exe måste kunna pinga varandra, dvs de kan kommunicera. För att kontrollera detsamma, kör följande kommandon från de primära servrarna (till en början), dvs repl1 i vårt fall.

mongo –host repl2 –port 27017

mongo –host repl3 –port 27017

På samma sätt kan vi också göra samma test från andra servrar

  • Rs.status () ger status för din replikuppsättning
  • För att kontrollera oplog som är en logg för att spela in alla skrivoperationer som gjordes, utfärda detta kommando - rs.printReplicationInfo.

Fördelar med replikering i MongoDB

Syftet med replikering är att se till att vi har hög datatillgänglighet. Om någon av servrarna går ner bör vi alltid ha en kopia av data tillgängliga på en annan server så att tillgängligheten inte påverkas. Replikationen är också mycket effektiv i fallet med lastbalansering, till exempel om vi har ett nummer av användare av försöker läsa eller skriva data till servrar.

Så lång historia kort, de viktigaste fördelarna med replikering tjänar nedanstående syfte:

  1. Hög tillgänglighet
  2. Lastbalansering

Slutsats:

Som vi har sett är MongoDB-replikering en process där vi replikerar data på mer än en server för att säkerställa hög tillgänglighet. Detta kan göras genom att skapa en replikuppsättning och lägga till de primära och sekundära servrarna.

Rekommenderade artiklar:

Detta har varit en guide till replikering i MongoDB. Här diskuterar vi skapande, drift, arbete, fördelar och några kommandon för felsökning. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. MongoDB GUI-verktyg
  2. MongoDB-kommandon
  3. MongoDB-alternativ
  4. Hur man installerar MongoDB