A Redis Cluster népszerű megoldás a Redis telepítések méretezésére a magasabb rendelkezésre állás, a hibatolerancia és a több csomóponton átnyúló adatszalag elérése érdekében. Az Redis klaszter megfelelő konfigurációja számos bevált gyakorlatot foglal magában, amelyek biztosítják az optimális teljesítményt, megbízhatóságot és kezelhetőséget.
Klaszter architektúra és csomópontkonfiguráció
A Redis Cluster megbízhatóan legalább három mestercsomópontot igényel. Ideális esetben a termelési klaszternek legalább hat csomópontot kell tartalmaznia, mindegyik mesternek egy vagy több replikája van. Ez a beállítás biztosítja a magas rendelkezésre állást, lehetővé téve az automatikus feladatátvételt, ha bármilyen fő csomópont meghibásodik. Minden csomópont klaszter módban fut, és engedélyezve van konfigurációval, beleértve:
- `Klaszter-kompatibilis igen", hogy engedélyezze a klaszter módot az egyes Redis példányokon.
-`cluster-config-file` megadja a fájlt, ahol a klaszter csomópont állapotát elmenti (például `nodes.conf`).
-`klaszter-csomópont-idő-idő, amely meghatározza a maximális időpontot, ha a csomópont nem érhető el, mielőtt sikertelennek tekintik (általában 5000–15000 milliszekundumra van állítva).
A „Cluster-Config-File” -et automatikusan kezeli, és nem szabad manuálisan szerkeszteni, mivel fenntartja a kritikus állami információkat, például a csomópont-azonosítókat, a leképezéseket és a slot tulajdonjogát. Mindegyik csomópont egyedülálló csomópont -azonosítóval rendel el az indításkor, amely életében továbbra is fennáll, ha IP vagy port megváltozik.
Hardver és hálózati beállítás
A csomópontokat különálló fizikai vagy virtuális gépeken kell telepíteni, hogy elkerüljék az egyetlen meghibásodási pontot. A csomópontok közötti hálózati kapcsolatnak lehetővé kell tennie mindkét ügyfélkommunikációs portot (általában a TCP 6379 vagy a használt szolgáltatási portot), mind a Cluster busz portot (a második port általában a TCP Service Port + 10000, például 16379) a Cluster Internode kommunikációhoz.
Óvatosan konfigurálja a hálózati interfészeket és a tűzfalakat, hogy lehetővé tegye ezt a forgalmat a csomópontok között, és opcionálisan az ügyfelek és a klaszter csomópontok között. A „Bind” irányelv beállítása a saját magán IP -khez, ahelyett, hogy az összes interfészhez kötődne, javítja a biztonságot.
Perzisztencia és az adatok tartóssága
Engedélyezze a perzisztencia mechanizmusokat, például az RDB pillanatképeket vagy az AOF-t (csak mellékletfájl), a szükséges adatok tartósságától és a teljesítmény kompromisszumától függően. Az AOF jobb tartósságot biztosít minden írási művelet naplózásával, de hozzáadhatja a késleltetést és az IO fölött. Az RDB pillanatképek és az AOF kombinálása elősegítheti a teljesítmény és a tartósság kiegyensúlyozását.
Az „APPendonly igen” irányelv lehetővé teszi az AOF módot. Ezeket a beállításokat gondosan be kell hangolni a munkaterhelési minták és az elfogadható adatvesztési ablakok szerint.
memóriagazdálkodási és kilakoltatási politikák
Konfigurálja a „MaxMemory” beállítást, hogy biztosítsa a redis illeszkedését a csomópont rendelkezésre álló memóriájába. Válassza ki a megfelelő kilakoltatási házirendet a „MaxMemory-Policy`” használatával, például a „AllKeys-LRU” segítségével, hogy a legkevésbé nemrégiben használt algoritmust használja az összes kulcson, amikor a memória korlátozásait elérik. A memória használatának és a HIT/Miss arányok következetes megfigyelése kritikus jelentőségű.
A Redis Cluster akkor teljesít, ha az adatkészlet minden csomóponton teljesen illeszkedik a memóriába. Kerülje a túlzott csere vagy a memória túlzott elkötelezettségét.
Slot Management and Data Distribution
A klaszter a keyspace -t 16 384 hash -résidőre osztja, amelyek az összes mester csomóponton oszlanak el. A klaszter létrehozásakor ellenőrizze, hogy az összes rést egy fő csomópont borítja. Az ügyfeleknek klaszter-tudatosnak kell lenniük, hogy a lekérdezéseket a megfelelő csomóponthoz vezethessék a hash-slot kiszámítása alapján.
Kerülje a különféle résidőkbe leképezett többgombok bevonásával kapcsolatos műveleteket, mivel ezekre korlátozott vagy kevésbé hatékony keresztrés-parancsokra van szükség.
Használjon olyan eszközöket, mint a `redis-cli-Cluster Create`, hogy automatikusan bootstrap klaszterekkel rendelkezik a megfelelő réselosztással és a replika hozzárendelésével.
Ügyfélkonfiguráció a klaszter tudatosságához
Konfigurálja az ügyfélkönyvtárakat az REDIS klaszter topológiájának kezelésére. Számos ügyfélkönyvtár klaszter támogatást nyújt, ideértve a klasztercsomópontok automatikus felfedezését és újrakonfigurálását, mivel azok meghibásodnak vagy átszervezik a résidőket. Ez megakadályozza az ügyfelek hibáit, és javítja a megbízhatóságot a csomópont feladatátvételei vagy a méretezési műveletek során.
Az ügyfeleket úgy kell konfigurálni, hogy újra megújítsák a mozgatást, vagy kérjék át az átirányításokat, és fenntartsák a klaszter állapotának frissített nézeteit.
Biztonsági megfontolások
Biztonságos klasztercsomópontok a jelszó -hitelesítés engedélyezésével (`BeesedEpass` irányelv), korlátozva a hálózati hozzáférést tűzfalszabályok révén, és korlátozva a kitett interfészeket a„ Bind ”konfiguráción keresztül. Használja a TLS titkosítást, ha lehetséges, hogy megvédje a tranzit adatait.
Tiltsa le a védett módot, amikor a REDIS -t klaszter módban futtatja, de biztosítja, hogy a hálózati konfigurációk elkülönítsék a klasztert a nem megbízható ügyfelektől.
Megfigyelés és karbantartás
Végezze el a klaszter egészségének átfogó megfigyelését, ideértve a csomópontok elérhetőségét, a késést, a memória használatát, a replikáció késleltetését és a klaszter állapotának változásait. Az olyan eszközöknek, mint a Redis Sentinel, a harmadik fél megfigyelő platformjai vagy a felhő-szolgáltató megoldások, az operatív stratégia részét kell képezniük.
Rendszeresen tesztelje a feladatátvételi mechanizmusokat, és végezzen ellenőrzött csomópont -újraindításokat vagy méretezési gyakorlatokat a klaszter ellenálló képességének ellenőrzése érdekében.
Performance Tuning
Tune Redis és a klaszterkonfiguráció a munkaterhelés -specifikumok alapján:
- Minimalizálja a blokkolási parancsokat, és használjon csővezeték- vagy LUA szkripteket az átviteli sebesség optimalizálásához.
-A hamis feladatátvételek elkerülése érdekében állítsa be a „Cluster-csomópont-idő-időt” a hálózati késleltetési jellemzők szerint.
- Használjon következetes hash és intelligens kulcs elnevezést a réseloszlás optimalizálásához.
- Kerülje a nagy kulcsokat vagy értékeket, és fontolja meg a nagy tárgyak kisebb darabokra bontását.
- Használja ki a Redis Cluster natív mechanizmusait a vízszintes méretezéshez, csomópontok hozzáadásával vagy eltávolításával és egyensúlyba helyezésével.
Biztonsági másolat és helyreállítás
A klaszter beállításához igazított biztonsági mentési stratégiák tervezése. Használjon periodikus RDB pillanatképeket a mester csomópontokból vagy másolatokból, és tárolja a biztonsági másolatokat kívülről. Kerülje a biztonsági másolatok visszaállítását közvetlenül az élő fürtön, megfelelő rés és csomópont állapot szinkronizálása nélkül.
A helyreállításhoz a REDIS által ajánlott eljárásokat használja a klaszterek rekonstruálására mentett konfigurációkból és biztonsági másolatokból.
Összegzés
A Redis klaszter konfigurációs borítójának bevált gyakorlatai:
- Legalább három mestercsomópont beállítása replikákkal a feladatátvételhez.
-A megfelelő klaszterrel kapcsolatos konfigurációs irányelvek biztosítása (`Cluster-kompatibilis ',` Cluster-Config-File', `Cluster-Node-Timeout ').
- Csomópontok telepítése megfelelő hardverre, megfelelő hálózati beállításokkal az ügyfél és a klaszter busz kommunikációhoz.
- A memória és a kilakoltatási politikák kitartásának és hangolásának lehetővé tétele a munkaterhelés -igényekhez.
- A hash-résidők hatékony kezelése és annak biztosítása, hogy az ügyfelek klaszter-tudatában legyenek.
- A klaszter biztosítása hitelesítéssel és hálózati vezérlőkkel.
- A klaszter egészségének és teljesítményének rendszeres ellenőrzése.
- A biztonsági mentés, a helyreállítás és a méretezési műveletek gondos tervezése.