Štai palyginimas, kaip Redis Sentinel ir Redis Clustering veikia patikimumo požiūriu:
Redis Sentinel
- Aukštas prieinamumas: „Redis Sentinel“ užtikrina aukštą pasiekiamumą per automatinį perjungimą. Jei pagrindinis mazgas sugenda, Sentinel automatiškai paaukštins vieną iš replikos mazgų, kad jis taptų naujuoju pagrindiniu mazgu.
- Vienas gedimo taškas: nors „Sentinel“ užtikrina aukštą pasiekiamumą, jis vis tiek turi vieną gedimo tašką – pačius „Sentinel“ mazgus. Jei visi „Sentinel“ mazgai sugenda, „Redis“ diegimas praras galimybę atlikti automatinį perjungimą.
- Asinchroninis replikavimas: „Redis Sentinel“ naudoja asinchroninį replikavimą tarp pagrindinio ir replikos mazgų. Tai reiškia, kad yra duomenų praradimo rizika, jei pagrindinis kompiuteris sugenda dar nepasiekus kopijų.
- Ribotas mastelio keitimas: „Redis Sentinel“ yra skirtas palyginti nedaug Redis mazgų. Tai nesuteikia „Redis Clustering“ horizontalaus mastelio keitimo galimybių.
Redis klasterizavimas
– Paskirstyta architektūra: „Redis Clustering“ turi paskirstytą architektūrą, kurioje nėra vieno gedimo taško. Duomenys automatiškai išskaidomi keliuose Redis mazguose.
– Aukštas pasiekiamumas: „Redis Clustering“ užtikrina aukštą pasiekiamumą per automatinį perjungimą. Jei pagrindinis mazgas sugenda, klasteris automatiškai paaukštins vieną iš replikos mazgų, kad jis taptų nauju pagrindiniu mazgu.
- Sinchroninis replikavimas: „Redis Clustering“ gali būti sukonfigūruotas naudoti sinchroninį replikavimą, kuris užtikrina geresnes duomenų nuoseklumo garantijas, palyginti su „Sentinel“ asinchroniniu replikavimu.
- Horizontalus mastelio keitimas: Redis Clustering sukurtas horizontaliam mastelio keitimui. Galite lengvai pridėti arba pašalinti mazgus prie grupės, kad padidintumėte pajėgumą.
Apibendrinant galima pasakyti, kad Redis Sentinel užtikrina aukštą pasiekiamumą palyginti nedideliam Redis diegimui, tačiau turi vieną gedimo tašką pačiuose Sentinel mazguose. Kita vertus, „Redis Clustering“ siūlo labiau paskirstytą ir keičiamo dydžio architektūrą su stipresnėmis nuoseklumo garantijomis, todėl tai yra patikimesnis pasirinkimas didesniems ir reiklesniams „Redis“ diegimams.
Pasirinkimas tarp Sentinel ir Clustering priklauso nuo konkrečių jūsų programos patikimumo, mastelio ir nuoseklumo reikalavimų. „Redis Clustering“ paprastai yra patikimesnė parinktis itin svarbioms, labai keičiamoms programoms.
Citatos:[1] https://cloudinfrastructureservices.co.uk/redis-sentinel-vs-cluster/
[2] https://www.linkedin.com/pulse/redis-sentinel-vs-cluster-osama-ahmed
[3] https://stackoverflow.com/questions/53060714/redis-sentinel-standalone-or-cluster-which-is-best-for-session
[4] https://redis.io/docs/latest/operate/oss_and_stack/management/scaling/
[5] https://groups.google.com/g/redis-db/c/KK7LW0dBD5Q