Redis Sentinel a Redis Cluster sú dva odlišné mechanizmy poskytované spoločnosťou RedIS na zvýšenie spoľahlivosti a dostupnosti, ale výrazne sa líšia v ich architektúre, prípadoch použitia a vlastnostiach spoľahlivosti.
Redis Sentinel je primárne riešenie s vysokou dostupnosťou (HA) určené pre nastavenia Redis, ktoré používajú replikáciu, ale nie sú orechané údaje. Sentinel monitoruje inštancie Master a Replica Redis, ktoré poskytujú automatické aktualizácie zlyhania a konfigurácie pre klientov. Pracuje ako distribuovaný systém s viacerými inštanciami Sentinel, ktorý spolupracuje na spoľahlivom detekcii zlyhaní. Jej základné silné stránky spoľahlivosti pochádzajú z kolektívnej zmluvy (Kvórum) medzi strážcami na zistenie hlavného zlyhania a začatie zlyhania. To znižuje falošné pozitívy a zabezpečuje, aby opatrenia na zlyhanie schválili väčšinou, zachováva konzistentnosť a dostupnosť systému. Sentinel spracováva zlyhanie propagáciou najaktualizovanejšej repliky na Master, rekonfigurovanie ďalších replík a informovanie klientov o novej hlavnej adrese. Architektonický dizajn Sentinel sa vyhýba systému zlyhania, ktorý sa stane jediným bodom zlyhania tým, že vyžaduje viac inštancií na nezávislých strojoch alebo zónach. Vykonáva tiež nepretržité monitorovanie a poskytuje oznámenia o stave inštancií Redis, čím sa zvyšuje prevádzkové povedomie a reakcia na problémy. Vďaka schopnostiam spoločnosti Sentinel s vysokou dostupnosťou je vhodné pre menšie nasadenie Redis, ktoré vyžadujú zlyhanie a monitorovanie, ale nepotrebujú rozdelenie údajov alebo rozsiahle horizontálne škálovanie.
Naopak, Redis Cluster je zložitejšie a integrovanejšie riešenie, ktoré kombinuje dáta, ktoré sa s vysokou dostupnosťou. Klastrové oddiely automaticky dáva údaje vo viacerých uzloch Redis (Masters), z ktorých každý má potenciálne repliky. Klastrovacia architektúra je decentralizovaná, bez jediného bodu riadenia, čo jej umožňuje zväčšovať horizontálne a spracovať väčšie súbory údajov rozdelením zaťaženia medzi uzly. Redis Cluster obsahuje vstavanú replikáciu a automatické zlyhanie pre neúspešné uzly, podporujúcu pokračujúcu prevádzku počas sieťových oddielov alebo zlyhaní uzlov. Na rozdiel od Sentinel, Redis Cluster neodmysliteľne riadi distribúciu údajov (Sharding), ktorý optimalizuje pracovné zaťaženie a vyvažuje využitie zdrojov medzi majstrov. Redis Cluster má však určité obmedzenia replikácie, ako je napríklad replikácia s jednou vrstvou (každý master sa replikuje iba na svojich otrokov). Napriek asynchrónnej replikácii v obidvoch systémoch je klaster navrhnutý pre vyššiu priepustnosť a nižšiu latenciu v mierke, a to vďaka Shardingovi a vyváženému zaťaženiu.
Pokiaľ ide o spoľahlivosť, mechanizmus zlyhania Sentinela sa spolieha na rozsudok a zvolenie vedúceho Sentinela na vykonávanie úloh zlyhania, zabezpečuje starostlivú koordináciu a znižuje šancu na scenáre rozdelenia mozgu. Nastavenia Sentinel zvyčajne obsahujú najmenej tri inštancie Sentinel, aby sa zachoval systém kvora odolného voči poruchám, ktorý dokáže udržať prevádzku, aj keď niektoré sentinelové uzly zlyhajú. Sentinel však neponúka dáta, čo môže viesť k nedostatočnému využívaniu replík, pretože píše iba jeden hlavný manipulácia. To obmedzuje jeho schopnosť škálovať s veľkosťou a pracovným zaťažením, čo znamená spoľahlivosť, pokiaľ ide o dostupnosť údajov a rýchlosť prístupu, sa môže pri väčšom nasadení zhoršiť.
Spoľahlivosť Redis Cluster pri zmene škálovania svieti. Zlepšuje toleranciu porúch distribúciou údajov do viacerých majstrov a ich replikáciou. Klaster môže pokračovať v prevádzke, keď niektoré uzly zlyhajú alebo sa stanú nedosiahnuteľnými, za predpokladu, že sa zachováva väčšinové uzávery Masters. Distribuovaný konsenzus umožňuje automatické zlyhanie pre jednotlivé hlavné uzly a udržiava prevádzkový klaster aj počas čiastočných sietí. Vďaka tomu je Redis Cluster spoľahlivým pre veľké prostredia s vysokým dopytom, ktoré si vyžadujú dostupnosť aj horizontálnu škálovateľnosť. Avšak nastavenie, správa a zotavenie z zlyhaní v klastri môže byť zložitejšie a nesprávne konfigurácie alebo problémy siete môžu viesť k nekonzistentnosti s rozdelením mozgu alebo dátam, ak je kcorum stratené alebo postupy zlyhania v mishandle.
Stručne povedané, Redis Sentinel ponúka silnú spoľahlivosť zameranú na vysokú dostupnosť prostredníctvom koordinovaného monitorovania a zlyhania v architektúre Master-Replica bez Shardingu. Hodí menšie nasadenia alebo scenáre, kde je vysoká dostupnosť kritická, ale objem údajov a prístupové zaťaženie je zvládnuteľné jediným hlavným majstri. Na druhej strane Redis Cluster poskytuje spoľahlivosť kombinovanú s horizontálnou škálovateľnosťou tým, že sa dánky a replikácia vo viacerých uzloch zabezpečuje prebiehajúce operácie napriek zlyhaniam uzlov a sieťovými oddielmi vo väčších a náročnejších prostrediach. Výber medzi nimi závisí od špecifických potrieb spoľahlivosti v porovnaní s veľkosťou údajov, pracovným zaťažením a zložitosti, ktorú môže systém tolerovať.
Tento prehľad obsahuje podrobné úvahy o monitorovaní, procesoch zlyhania, mechanizmoch kvórum, replikačnej architektúre, implikáciám škálovateľnosti a prevádzkovým kompromisom spoľahlivosti medzi Redis Sentinel a Redis Cluster.