Redis Sentinel และ Redis Cluster เป็นกลไกที่แตกต่างกันสองประการโดย Redis เพื่อเพิ่มความน่าเชื่อถือและความพร้อมใช้งาน แต่พวกเขาแตกต่างกันอย่างมีนัยสำคัญในสถาปัตยกรรมการใช้กรณีและคุณสมบัติความน่าเชื่อถือ
Redis Sentinel เป็นโซลูชันความพร้อมใช้งานสูง (HA) ที่ออกแบบมาสำหรับการตั้งค่า REDIS ที่ใช้การจำลองแบบ แต่ไม่มีข้อมูล Sentinel ตรวจสอบอินสแตนซ์ Master และ Replica Redis ให้การอัพเดตการล้มเหลวและการกำหนดค่าอัตโนมัติแก่ลูกค้า มันทำงานเป็นระบบแบบกระจายที่มีอินสแตนซ์ Sentinel หลายครั้งร่วมมือกันตรวจจับความล้มเหลวอย่างน่าเชื่อถือ จุดแข็งหลักของความน่าเชื่อถือมาจากข้อตกลงร่วม (องค์ประชุม) ในหมู่ทหารรักษาการณ์ในการตรวจจับความล้มเหลวหลักและเริ่มต้นการล้มเหลว สิ่งนี้จะช่วยลดผลบวกที่ผิดพลาดและทำให้มั่นใจได้ว่าการกระทำที่ล้มเหลวนั้นได้รับอนุญาตจากคนส่วนใหญ่รักษาความสอดคล้องของระบบและความพร้อมใช้งาน Sentinel จัดการกับความล้มเหลวโดยการส่งเสริมแบบจำลองที่ได้รับการปรับปรุงมากที่สุดเพื่อเป็นหลักกำหนดค่าแบบจำลองอื่น ๆ ใหม่และแจ้งให้ลูกค้าทราบถึงที่อยู่หลักใหม่ การออกแบบสถาปัตยกรรมของ Sentinel หลีกเลี่ยงระบบการล้มเหลวกลายเป็นจุดหนึ่งของความล้มเหลวโดยกำหนดให้หลายอินสแตนซ์ในเครื่องจักรอิสระหรือโซน นอกจากนี้ยังดำเนินการตรวจสอบอย่างต่อเนื่องและให้การแจ้งเตือนเกี่ยวกับสถานะของอินสแตนซ์ Redis เพิ่มการรับรู้การปฏิบัติงานและการตอบสนองต่อปัญหา ความสามารถในการใช้งานที่มีความพร้อมใช้งานสูงของ Sentinel ทำให้เหมาะสำหรับการปรับใช้ Redis ขนาดเล็กซึ่งต้องใช้ความล้มเหลวและการตรวจสอบ แต่ไม่จำเป็นต้องมีการแบ่งพาร์ติชันข้อมูลหรือการปรับขนาดแนวนอนขนาดใหญ่
ในทางตรงกันข้าม Redis Cluster เป็นโซลูชันที่ซับซ้อนและรวมเข้าด้วยกันซึ่งรวมข้อมูลการให้ข้อมูลกับความพร้อมใช้งานสูง พาร์ติชันคลัสเตอร์ข้อมูลโดยอัตโนมัติในหลายโหนด Redis (อาจารย์) แต่ละอันอาจมีแบบจำลอง สถาปัตยกรรมการจัดกลุ่มนั้นมีการกระจายอำนาจโดยไม่มีจุดจัดการเดียวทำให้สามารถปรับขนาดในแนวนอนและจัดการชุดข้อมูลขนาดใหญ่โดยการกระจายโหลดระหว่างโหนด Redis Cluster รวมถึงการจำลองแบบในตัวและการล้มเหลวอัตโนมัติสำหรับโหนดที่ล้มเหลวรองรับการดำเนินการอย่างต่อเนื่องในระหว่างพาร์ติชันเครือข่ายหรือความล้มเหลวของโหนด ซึ่งแตกต่างจาก Sentinel, Redis Cluster จัดการการกระจายข้อมูลโดยเนื้อแท้ (Sharding) ซึ่งเพิ่มประสิทธิภาพเวิร์กโหลดและปรับสมดุลการใช้ทรัพยากรในระดับปริญญาโท อย่างไรก็ตาม Redis Cluster มีข้อ จำกัด การจำลองแบบบางอย่างเช่นการจำลองแบบชั้นเดียว แม้จะมีการจำลองแบบแบบอะซิงโครนัสในทั้งสองระบบ แต่คลัสเตอร์ได้รับการออกแบบมาสำหรับปริมาณงานที่สูงขึ้น
เกี่ยวกับความน่าเชื่อถือกลไกการล้มเหลวของ Sentinel ขึ้นอยู่กับการตัดสินและการเลือกตั้งผู้นำ Sentinel ในการปฏิบัติงานที่ล้มเหลวทำให้มั่นใจได้ว่าการประสานงานอย่างรอบคอบและลดโอกาสในการแยกสถานการณ์สมอง การตั้งค่า Sentinel มักจะมีอินสแตนซ์อย่างน้อยสามอินสแตนซ์เพื่อรักษาระบบโควรัมที่ทนต่อความผิดพลาดที่สามารถทำงานได้แม้ว่าโหนด Sentinel บางตัวจะล้มเหลว อย่างไรก็ตาม Sentinel ไม่ได้เสนอข้อมูลการให้ข้อมูลซึ่งอาจนำไปสู่การใช้งานแบบจำลอง underutilization เนื่องจากมีเพียงหนึ่งต้นแบบที่จัดการเขียน สิ่งนี้จำกัดความสามารถในการขยายขนาดของข้อมูลและภาระงานซึ่งหมายถึงความน่าเชื่อถือในแง่ของความพร้อมใช้งานของข้อมูลและความเร็วในการเข้าถึงอาจลดลงในการปรับใช้ที่ใหญ่ขึ้น
ความน่าเชื่อถือของ Redis Cluster ส่องประกายเมื่อปรับขนาด มันช่วยเพิ่มความทนทานต่อความผิดพลาดโดยการแจกจ่ายข้อมูลไปยังอาจารย์หลายคนและจำลองซ้ำ คลัสเตอร์สามารถดำเนินการต่อไปได้เมื่อบางโหนดล้มเหลวหรือไม่สามารถเข้าถึงได้หากมีการบำรุงรักษาโควรัมส่วนใหญ่ของอาจารย์ ฉันทามติแบบกระจายอนุญาตให้ล้มเหลวโดยอัตโนมัติสำหรับโหนดหลักแต่ละโหนดและทำให้การทำงานของคลัสเตอร์ดำเนินการแม้ในช่วงพาร์ติชันเครือข่ายบางส่วน สิ่งนี้ทำให้คลัสเตอร์ Redis เชื่อถือได้สำหรับสภาพแวดล้อมขนาดใหญ่ที่มีความต้องการสูงซึ่งต้องการความพร้อมใช้งานและความสามารถในการปรับขนาดในแนวนอน อย่างไรก็ตามการตั้งค่าการจัดการและการกู้คืนจากความล้มเหลวในคลัสเตอร์อาจมีความซับซ้อนมากขึ้นและการกำหนดค่าที่ไม่เหมาะสมหรือปัญหาเครือข่ายอาจนำไปสู่การแยกสมองหรือความไม่สอดคล้องกันของข้อมูลหากองค์ประชุมหายไปหรือขั้นตอนการล้มเหลว
โดยสรุป Redis Sentinel นำเสนอความน่าเชื่อถือที่แข็งแกร่งที่มุ่งเน้นไปที่ความพร้อมใช้งานสูงผ่านการตรวจสอบและการล้มเหลวในสถาปัตยกรรมการจำลองแบบต้นแบบโดยไม่ต้องใช้การแตกหัก มันเหมาะสมกับการปรับใช้หรือสถานการณ์ที่มีขนาดเล็กลงซึ่งความพร้อมใช้งานสูงเป็นสิ่งสำคัญ แต่ปริมาณข้อมูลและภาระการเข้าถึงสามารถจัดการได้โดยต้นแบบเดียว ในทางกลับกันคลัสเตอร์ Redis ให้ความน่าเชื่อถือรวมกับความสามารถในการปรับขนาดในแนวนอนโดยการให้ข้อมูลและการจำลองแบบในหลายโหนดเพื่อให้มั่นใจว่าการดำเนินการอย่างต่อเนื่องแม้จะมีความล้มเหลวของโหนดและพาร์ติชันเครือข่ายในสภาพแวดล้อมที่มีขนาดใหญ่ขึ้นและมีความต้องการมากขึ้น ตัวเลือกระหว่างพวกเขาขึ้นอยู่กับความต้องการความน่าเชื่อถือเฉพาะเมื่อเทียบกับขนาดข้อมูลปริมาณงานและความซับซ้อนที่ระบบสามารถทนได้
ภาพรวมนี้รวมถึงข้อควรพิจารณาอย่างละเอียดเกี่ยวกับการตรวจสอบกระบวนการที่ล้มเหลวกลไกองค์ประชุมสถาปัตยกรรมการจำลองแบบความหมายของความสามารถในการปรับขนาดและการแลกเปลี่ยนการดำเนินงานเพื่อความน่าเชื่อถือระหว่าง Redis Sentinel และ Redis Cluster