A replikáció áttekintése a MongoDB-ben
A MongoDB egy nyílt forrású, dokumentum-orientált adatbázis, amely nagyon skálázható, NoSQL adatbázis. Nagy mennyiségű adattárolásra használható.
A MongoDB az adatokat JSON-formátumban tárolja, amely nagyon rugalmas, és a dokumentummodell ezután az alkalmazási kódokban leképezi az objektumokat.
Mi az a MongoDB replikáció?
A replikáció alatt olyan kiszolgálók csoportosítását értjük, amelyek ugyanazt a funkciót hajtják végre. A MongoDB esetében rendelkezünk MongoDB szerverekkel az adatok tárolására. A replikáció célja az adatok magas rendelkezésre állásának biztosítása. Abban az esetben, ha valamelyik szerver leáll, mindig rendelkeznie kell egy másolattal az elérhető adatok másolatával, hogy ez ne érintse a rendelkezésre állást.
Az adatokat rendszeresen és rendszeres időközönként meg kell ismételni, hogy megbizonyosodjunk arról, hogy semmilyen adatot ne veszítsünk el - és még ha az elsődleges szerver is leáll, a másodiknak képesnek kell lennie arra, hogy kiszolgálja a felhasználói kéréseket.
A replikáció nagyon hatékony a terheléselosztás esetén is, például ha több felhasználó próbál adatokat olvasni vagy írni a szerverekre, ebben az esetben tisztességtelen lenne, ha az összes kérést csak a Az egyik kiszolgálónak rendelkeznie kell egy kiegyensúlyozó mechanizmussal, amely egyenlően osztja el a terhelést a fürtben elérhető kiszolgálókra úgy, hogy egyetlen kiszolgáló sem fogy el a memóriára vagy a sávszélességre, és nem csökken.
Replikáció működése a MongoDB folyamatban
A replikáció a MongoDB-ben replikakészletek segítségével érhető el. A replikakészletek a MongoDB szerverek csoportosítása. Van egy elsődleges kiszolgáló, amely felel az összes kérés vagy az írás művelet ügyfelektől történő fogadásáért, és a másolatkészlethez hozzáadott többi példányt másodlagos példánynak nevezzük, amely az összes olvasási műveletért felel.
- Amint azt a fenti ábra szemlélteti, az összes adat az elsődleges csomópontot a másodlagos csomópontokra replikálja, bármely replikakészletben csak egy elsődleges csomópont lesz.
- Amikor feladatátvétel történik, vagy valamilyen karbantartási tevékenységet végeznek, új elsődleges csomópontot választanak.
- Miután a feladatátvételt helyreállították, a hibás csomópont másodlagos csomópontként működik.
- Az ügyfélalkalmazás mindig kommunikál az elsődleges csomóponttal, amelyet ezt követően az adatok replikálása az összes másodlagos csomópontra.
Másolatkészletek, létrehozás és műveletek
A MongoDB-kiszolgálók teljes körű replikációjának elkészítéséhez először létre kell hoznunk a MongoDB-példányok replikakészletét.
Képzeljük el, hogy három szerverünk van: repl1, repl2 és repl3, ahol az elsődleges kiszolgáló az repl1, a többi pedig másodlagos.
Elsődleges csomópont-replikáció hozzáadása a MongoDB-ben:
- Kérjük, ellenőrizze, hogy a mongo.exe példányai vannak-e telepítve az összes kiszolgálóra.
- Az összes mongod.exe-nek képesnek kell lennie arra, hogy ping-eket egymás között, azaz kommunikálni tudjanak. Ennek ellenőrzéséhez futtassa a következő parancsokat az elsődleges kiszolgálókról (kezdetben), azaz esetünkben a repl1-et.
mongo –host repl2 –port 27017
mongo –host repl3 –port 27017
Hasonlóképpen, ugyanazt a tesztet elvégezhetjük más szerverektől is
- A mongo –replset parancs használatával el kell indítanunk az első mongod.exe példányunkat.
mongo –replset “Replica_A”, ahol a Replica_A a replikakészlet neve. - Mint most, az első kiszolgálót hozzáadtuk a replikakészlethez, a következő lépés a replikakészlet kezdeményezése az rs.initiate () parancs kiadásával.
- A következő lépés az ellenőrzési lépés, ahol biztosítjuk, hogy bármi, amit eddig konfiguráltunk, helyes legyen, ezt megtehetjük az rs.conf () parancs futtatásával.
Másodlagos csomópont replikáció hozzáadása a MongoDB-ben:
Az elsődleges kiszolgáló hozzáadása után könnyű felvenni a többi másodlagos csomópontot, ezt megtehetjük az rs.add () parancs kiadásával.
Ezért futtassa az alábbi parancsot, mivel a repl1 az elsődleges szerverünk, a repl2 és a repl3 pedig másodlagos szerver.
rs.add ( „repl2”)
rs.add ( „repl3”)
Szerverek eltávolítása a replikakészletből:
A kiszolgálók eltávolításához az összes replikakészletből az rs.remove () paranccsal teheti meg.
Vannak bizonyos lépések, amelyek részt vesznek a folyamatban az alábbiak szerint:
- Először állítsa le az eltávolítandó példányt. Ezt megteheti a db.shutdownserver parancs futtatásával a mongo cellán keresztül.
- A következő lépés az elsődleges kiszolgálóhoz történő csatlakozás.
- Futtassa a következő parancsot, mondjuk, hogy elsődleges és másodlagos szerverként repl1, repl2 és repl3 van, és el akarjuk távolítani a repl3-t, majd futtatjuk a következő parancsot:
rs.remove ( „repl3”)
Néhány hibaelhárítási parancs
- Az összes mongod.exe-nek képesnek kell lennie arra, hogy ping-eket egymás között, azaz kommunikálni tudjanak. Ennek ellenőrzéséhez futtassa a következő parancsokat az elsődleges kiszolgálókról (kezdetben), azaz esetünkben a repl1-et.
mongo –host repl2 –port 27017
mongo –host repl3 –port 27017
Hasonlóképpen, ugyanazt a tesztet elvégezhetjük más szerverektől is
- Az rs.status () megadja a replikakészlet állapotát
- Az oplog ellenőrzéséhez, amely egy napló az elvégzett írási műveletek rögzítéséhez, adja ki ezt a parancsot - rs.printReplicationInfo.
A replikáció előnyei a MongoDB-ben
A replikáció célja az adatok magas rendelkezésre állásának biztosítása. Abban az esetben, ha valamelyik szerver leáll, mindig rendelkezzünk másolattal egy másik kiszolgálón elérhető adatokkal, hogy ez ne érintse a rendelkezésre állást. A replikáció nagyon hatékony a terheléselosztás esetén is, például ha van egy száma a felhasználók próbálnak adatokat olvasni vagy írni a szerverekre.
Röviden, a replikáció fő előnyei az alábbi célt szolgálják:
- Magas rendelkezésre állás
- Terhelés elosztás
Következtetés:
Mint láttuk, a MongoDB replikáció olyan folyamat, amelynek során az adatokat egynél több kiszolgálón replikáljuk a magas rendelkezésre állás biztosítása érdekében. Ezt úgy lehet meghozni, hogy létrehoz egy replikakészletet, és hozzáadja az elsődleges és másodlagos kiszolgálókat.
Ajánlott cikkek:
Ez egy útmutató a replikációhoz a MongoDB-ben. Itt tárgyaljuk a létrehozást, működést, működést, az előnyöket és a hibaelhárítás néhány parancsát. A további javasolt cikkeken keresztül további információkat is megtudhat -
- MongoDB GUI eszközök
- MongoDB parancsok
- MongoDB alternatívák
- Hogyan telepítsük a MongoDB-t