Klastr Redis Sentinel a Redis jsou dva odlišné mechanismy poskytované společností Redis pro zvýšení spolehlivosti a dostupnosti, ale výrazně se liší ve své architektuře, případech použití a rysech spolehlivosti.
Redis Sentinel je primárně řešení s vysokou dostupností (HA) určené pro nastavení REDIS, která používají replikaci, ale ne shard data. Sentinel Monitoruje instance Master and Replica Redis, poskytují klientům automatické převzetí a konfiguraci při selhání. Funguje jako distribuovaný systém s více instancemi Sentinelu, které spolupracují na spolehlivosti selhání. Její hlavní silné stránky spolehlivosti pocházejí z kolektivní smlouvy (kvora) mezi sentinely za účelem detekce selhání mistrovství a zahájení převzetí služeb služeb při selhání. To snižuje falešná pozitiva a zajišťuje, že akce převzetí služeb při selhání jsou povoleny většinou, zachovávají konzistenci a dostupnost systému. Sentinel zpracovává převzetí služeb při selhání propagací nejaktuálnější repliky na zvládnutí, rekonfiguraci dalších replik a informováním klientů o nové hlavní adrese. Architektonický design Sentinel zabraňuje tomu, aby se systém převzetí služeb při selhání stává jediným bodem selhání tím, že vyžaduje více instancí na nezávislých strojích nebo zónách. Rovněž provádí nepřetržité monitorování a poskytuje oznámení o stavu redis instancí, zvyšování provozního povědomí a citlivosti na problémy. Schopnosti Sentinelu s vysokou dostupností způsobují, že je vhodné pro menší nasazení Redis, která vyžadují převzetí a monitorování při selhání, ale nepotřebují rozdělení dat nebo velké horizontální škálování.
Shluk Redis je naopak složitějším integrovaným řešením, které kombinuje sharding dat s vysokou dostupností. Údaje klastru oddíly automaticky napříč několika uzly Redis (Masters), z nichž každá potenciálně má repliky. Shlukovací architektura je decentralizována, bez jediného bodu správy, což jí umožňuje vodorovně měřítko a zpracovávat větší datové sady distribucí zatížení mezi uzly. Cluster Redis zahrnuje vestavěnou replikaci a automatický převzetí služeb při selhání pro neúspěšné uzly, podporující pokračující provoz během síťových oddílů nebo selhání uzlů. Na rozdíl od Sentinelu, Cluster Redis inherentně spravuje distribuci dat (Sharding), který optimalizuje pracovní vytížení a vyrovnává využití zdrojů napříč mistry. Shluk Redis však má určitá replikační omezení, jako je replikace s jednou vrstvou (každý hlavní replikuje pouze své otroky). Navzdory asynchronní replikaci v obou systémech je shluk navržen pro vyšší propustnost a nižší latenci v měřítku díky střetu a vyváženému zatížení.
Pokud jde o spolehlivost, Sentinelův mechanismus převzetí služeb při selhání se spoléhá na rozsudek a volbu vůdce Sentinela, aby provedl úkoly převzetí služeb při selhání, zajistil pečlivou koordinaci a snížil šanci scénářů s rozdělením mozku. Sestavy Sentinelu obvykle zahrnují nejméně tři instance sentinelu, aby se udržoval systém kvora odolný vůči chybám, který může udržovat provoz, i když některé sentinelové uzly selhávají. Sentinel však nenabízí sharding dat, což může vést k nedostatečné využití replik, protože zapíše pouze jeden hlavní úchyty. To omezuje jeho schopnost škálovat s velikostí a pracovní zátěží dat, což znamená spolehlivost, pokud jde o dostupnost dat a rychlost přístupu, může se při větším nasazením snížit.
Při rozšiřování svítí spolehlivost Clusteru Redis. Zlepšuje toleranci poruch distribucí dat napříč více mistry a jejich replikací. Shluk může pokračovat v provozu, když některé uzly selhávají nebo se stanou nedosažitelnými, za předpokladu, že je udržováno většinové kvórum mistrů. Distribuovaný konsenzus umožňuje automatický převzetí služeb při selhání pro jednotlivé hlavní uzly a udržuje klastr funkční i během částečných síťových oddílů. Díky tomu je Cluster Redis spolehlivý pro velká prostředí s vysokým poptávkem vyžadujícím jak dostupnost, tak horizontální škálovatelnost. Nastavení, řízení a zotavení z selhání v klastru však může být složitější a nesprávné konfigurace nebo problémy sítě mohou vést k nesrovnalosti rozdělení mozku nebo dat, pokud dojde ke ztrátě kvora nebo postupy převzetí služeb při selhání neschválí státní přechody.
Stručně řečeno, Redis Sentinel nabízí silnou spolehlivost zaměřenou na vysokou dostupnost prostřednictvím koordinovaného monitorování a převzetí služeb při selhání v architektuře mistrovské reppliky bez střetu. Vyhovuje menším nasazením nebo scénářům, kde je vysoká dostupnost kritická, ale objem dat a přístupové zatížení lze zvládnout jediným masterem. Redis Cluster, na druhé straně, poskytuje spolehlivost v kombinaci s horizontální škálovatelnost tím, že roztáhne data a replikuje napříč více uzly, zajišťuje probíhající provoz navzdory selhání uzlu a síťové oddíly ve větších a náročnějších prostředích. Volba mezi nimi závisí na konkrétních potřebách spolehlivosti ve srovnání s velikostí dat, pracovní zátěží a složitosti, kterou může systém tolerovat.
Tento přehled zahrnuje podrobné úvahy o monitorování, procesech převzetí služeb při selhání, mechanismy kvora, architektuře replikace, důsledky škálovatelnosti a operačních kompromisů pro spolehlivost mezi redis Sentinel a Redis Cluster.