สถาปัตยกรรมความพร้อมใช้งานสูงคืออะไร
สถาปัตยกรรมที่มีความพร้อมใช้งานสูงคือเมื่อมีส่วนประกอบ โมดูล หรือบริการต่างๆ จำนวนมากที่ทำงานร่วมกันเพื่อรักษาประสิทธิภาพสูงสุด โดยไม่คำนึงถึงการโหลดในช่วงเวลาเร่งด่วน
ตามความหมายที่บริสุทธิ์ที่สุด ระบบนี้ช่วยให้ธุรกิจสามารถทำงานได้อย่างต่อเนื่องโดยไม่ล้มเหลวในช่วงเวลาที่กำหนด ธุรกิจจำนวนมากไม่สามารถจ่ายเงินได้แม้แต่นาทีเดียว เมื่อพิจารณาว่าข้อมูลเป็นสัดส่วนหลักของธุรกิจจำนวนมาก การหยุดทำงานเพียงช่วงสั้นๆ ก็อาจมีค่าใช้จ่ายสูงอย่างไม่น่าเชื่อ
ในสถานการณ์จริงบางสถานการณ์ ชีวิตอาจขึ้นอยู่กับฐานข้อมูลที่สร้างขึ้นเพื่อความพร้อมใช้งานสูง เมื่อผู้ป่วยมาถึงห้องฉุกเฉิน บุคลากรทางการแพทย์จำเป็นต้องเข้าถึงบันทึกทางการแพทย์ของตนในทันทีเพื่อทำความเข้าใจว่าการตัดสินใจในการรักษาแบบใดดีที่สุด ความล่าช้าในการเข้าถึงข้อมูลนี้อาจส่งผลกระทบร้ายแรง
หมายเหตุ:ความพร้อมใช้งานสูงมักจะวัดเป็นเปอร์เซ็นต์ของเวลาที่ผู้ใช้บริการได้ ตามอภิธานศัพท์สำหรับนักพัฒนาเครือข่ายของ Microsoft เพื่อให้เซิร์ฟเวอร์ได้รับการพิจารณาว่า "มีความพร้อมใช้งานสูง" จะต้องมีเวลาทำงานของเครือข่ายถึง 99.999%
คลัสเตอร์ที่มีความพร้อมใช้งานสูงคืออะไร
คลัสเตอร์ที่มีความพร้อมใช้งานสูงคือกลุ่มของโฮสต์ที่รวมเป็นระบบเดียวเพื่อป้องกันการหยุดทำงาน หากเซิร์ฟเวอร์หนึ่งในคลัสเตอร์ที่มีความพร้อมใช้งานสูงล่ม แอปที่มีความสำคัญต่อภารกิจจะถูกโอนไปยังเซิร์ฟเวอร์อื่นทันทีที่ตรวจพบข้อบกพร่อง
ไม่มีระบบใดที่ต้านทานความล้มเหลวได้ และคลัสเตอร์ที่มีความพร้อมใช้งานสูงช่วยให้มั่นใจได้ว่าระดับประสิทธิภาพที่ดีที่สุดจะยังคงอยู่โดยไม่คำนึงถึงความล้มเหลวที่หลีกเลี่ยงไม่ได้ ด้วยเหตุนี้ จึงมักใช้สำหรับแอปพลิเคชัน เว็บไซต์ และระบบประมวลผลธุรกรรมที่มีความสำคัญมากที่สุด
คลัสเตอร์ที่มีความพร้อมใช้งานสูงทำงานอย่างไร
คลัสเตอร์ที่มีความพร้อมใช้งานสูงจะใช้หลายระบบที่ผสานรวมแล้ว ดังนั้นหากความล้มเหลวทำให้ระบบหนึ่งล้มเหลว อีกระบบหนึ่งสามารถใช้ประโยชน์ได้อย่างมีประสิทธิภาพเพื่อรักษาความต่อเนื่องของบริการหรือแอปพลิเคชันที่กำลังใช้งาน
คลัสเตอร์การโหลดบาลานซ์ที่มีความพร้อมใช้งานสูงมีบทบาทสำคัญในการป้องกันความล้มเหลวของระบบ การมีตัวจัดสรรภาระงานจะกระจายปริมาณการใช้งานผ่านโหนดเว็บต่างๆ ที่ให้บริการผู้ใช้เว็บไซต์หรือแอปพลิเคชันเดียวกันเป็นหลัก ซึ่งจะช่วยลดแรงกดดันบนเซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่ง ทำให้แต่ละคลัสเตอร์สามารถทำงานได้อย่างเหมาะสมที่สุดในขณะที่อนุญาตให้ส่งทราฟฟิกไปยังเซิร์ฟเวอร์ที่มีสถานะปกติเท่านั้น
แนวคิดคลัสเตอร์ที่มีความพร้อมใช้งานสูง
คลัสเตอร์ Active-Passive
คลัสเตอร์แอ็คทีฟ/พาสซีฟประกอบด้วยโหนดอย่างน้อยสองโหนด ตามชื่อที่บอกไว้ ไม่ใช่ว่าทุกโหนดจะทำงานได้ ถ้าโหนดใดโหนดหนึ่งทำงานอยู่ โหนดที่สองจะเป็นแบบอ่านอย่างเดียวในโหมดสแตนด์บาย เซิร์ฟเวอร์แบบพาสซีฟทำหน้าที่เป็นตัวสำรองและจะใช้ในกรณีที่เซิร์ฟเวอร์ที่ใช้งานอยู่ไม่ทำงาน
คลัสเตอร์ Active-Active
โดยทั่วไปคลัสเตอร์ประเภทนี้จะใช้โหนดอย่างน้อยสองโหนดที่เรียกใช้บริการเดียวกันในเวลาเดียวกัน ในคลัสเตอร์ที่แอ็คทีฟ-แอ็คทีฟ โหนดทั้งสองทำหน้าที่เป็นโหนดหลัก ซึ่งหมายความว่าสามารถยอมรับการอ่านหรือเขียนได้ หากโหนดใดโหนดหนึ่งล้มเหลว ผู้ใช้จะเชื่อมต่อกับอีกโหนดหนึ่งโดยอัตโนมัติเพื่อให้แน่ใจว่าบริการจะมีความต่อเนื่อง เมื่อโหนดแรกถูกแทนที่แล้ว ผู้ใช้จะถูกแบ่งระหว่างโหนดเดิมทั้งสอง
ประโยชน์ที่ครอบคลุมของคลัสเตอร์ที่ทำงานอยู่/แอ็คทีฟคือช่วยให้คุณสร้างสมดุลระหว่างโหนดและเครือข่ายได้ หากตรวจพบอินสแตนซ์ความล้มเหลวของเซิร์ฟเวอร์ โหลดบาลานเซอร์จะส่งคำขอของผู้ใช้ไปยังเซิร์ฟเวอร์ที่พร้อมใช้งาน จากนั้นวิเคราะห์กิจกรรมเครือข่ายโหนด จากนั้นโหลดบาลานเซอร์จะผลักทราฟฟิกไปยังโหนดที่สามารถให้บริการทราฟฟิกนั้นได้ ซึ่งทำให้มีความทนทานต่อความผิดพลาดในระดับที่สูงขึ้น
กลยุทธ์นี้เป็นไปตามกระบวนการที่เป็นวัฏจักร คล้ายกับโมเดล Round-robin โดยที่ผู้ใช้จะถูกกระจายแบบสุ่มในโหนดที่มีอยู่ หรือในทางกลับกัน อาจเป็นไปตามแผนการชั่งน้ำหนักที่โหนดหนึ่งมีลำดับความสำคัญเหนือกว่าโหนดอื่นตามเปอร์เซ็นต์
แชร์-ไม่มีอะไรเทียบกับคลัสเตอร์ดิสก์ที่แชร์
กฎทั่วไปที่ใช้ในการคำนวณแบบกระจายคือการหลีกเลี่ยงจุดล้มเหลวเพียงจุดเดียวโดยเสียค่าใช้จ่ายทั้งหมด สิ่งนี้ต้องการทรัพยากรที่จะต้องทำซ้ำหรือเปลี่ยนใหม่ได้ โดยไม่มีปัจจัยเดียวที่จะหยุดชะงักหากบริการเต็มรูปแบบหยุดทำงาน
ลองนึกภาพถ้าคุณมีโหนดที่ทำงานอยู่ 50 โหนดที่ขับเคลื่อนโดยฐานข้อมูลเดียว หากโหนดใดโหนดหนึ่งล้มเหลว โหนดนั้นจะไม่มีผลกระทบต่อสถานะที่คงอยู่ของโหนดอื่น โดยไม่คำนึงถึงจำนวนของโหนดที่ทำงานอยู่
แต่ฐานข้อมูลควรล้มเหลว คลัสเตอร์ทั้งหมดจะล่ม ทำให้ฐานข้อมูลเป็นจุดล้มเหลวเพียงจุดเดียวใช่หรือไม่ สิ่งนี้เรียกว่า คลัสเตอร์ดิสก์ที่ใช้ร่วมกัน
ในทางกลับกัน หากแต่ละโหนดรักษาฐานข้อมูล ความล้มเหลวของโหนดจะไม่ส่งผลกระทบต่อคลัสเตอร์ทั้งหมด สิ่งนี้เรียกว่า คลัสเตอร์ที่ไม่มีการแชร์อะไร
หมายเหตุ: หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเทคโนโลยีการทำคลัสเตอร์ที่มีความพร้อมใช้งานสูง อย่าลืมดูการสัมมนาผ่านเว็บนี้ ด้วยประสบการณ์มากกว่า 20 ปีในอุตสาหกรรมซอฟต์แวร์ George Carbonnel จะแกะทุกอย่างที่คุณจำเป็นต้องรู้เกี่ยวกับวิธีที่เทคโนโลยีการทำคลัสเตอร์ด้วย Redis Enterprise มอบประสิทธิภาพสูงและความพร้อมใช้งานสูง
ความต้องการของสถาปัตยกรรมที่มีความพร้อมใช้งานสูง
มีข้อกำหนดต่างๆ มากมายที่คุณต้องใช้เพื่อเพิ่มความทนทานและความพร้อมใช้งานสูง ซึ่งรวมถึง:
โหลดบาลานซ์
การทำโหลดบาลานซ์มีความสำคัญต่อสถาปัตยกรรมที่มีความพร้อมใช้งานสูง หน้าที่หลักของมันคือการกระจายทราฟฟิกข้ามเซิร์ฟเวอร์แบ็กเอนด์เพื่อส่งข้อมูลอย่างมีประสิทธิภาพมากขึ้นรวมทั้งป้องกันไม่ให้เซิร์ฟเวอร์โอเวอร์โหลด ข้อกำหนดเบื้องต้นของระบบโหลดบาลานซ์คือการระบุว่าควรดำเนินการกระบวนการเฟลโอเวอร์ใดเมื่อมีความล้มเหลวของโหนด
ความสามารถในการปรับขนาดข้อมูล
ความสามารถในการปรับขนาดฐานข้อมูลหรือหน่วยเก็บข้อมูลดิสก์ต้องนำมาพิจารณาด้วยสถาปัตยกรรมที่มีความพร้อมใช้งานสูงทั้งหมด มีโซลูชัน 2 แบบที่คุณสามารถเลือกได้เพื่อให้เกิดความสามารถในการปรับขนาด:
- ใช้ฐานข้อมูลหลักของสถาปัตยกรรมและใช้การจำลองแบบหรือการแบ่งพาร์ติชันเพื่อให้พร้อมใช้งานสูง หรือ
- ตรวจสอบให้แน่ใจว่าอินสแตนซ์ของแอปพลิเคชันแต่ละรายการสามารถรักษาที่จัดเก็บข้อมูลของตนเองได้
ความหลากหลายทางภูมิศาสตร์
เราอาศัยอยู่ในโลกดิจิทัลที่มีการเปลี่ยนแปลงอย่างรวดเร็ว ซึ่งขณะนี้จำเป็นต้องเผยแพร่คลัสเตอร์ที่มีความพร้อมใช้งานสูงทั่วโลก การทำเช่นนี้จะช่วยให้มั่นใจได้ว่าหากเกิดภัยพิบัติทางธรรมชาติเกิดขึ้นที่แห่งเดียว ผลกระทบที่เกิดขึ้นจะไม่ขัดขวางความสามารถในการให้บริการ
การสำรองข้อมูลและการกู้คืน (การกู้คืนจากภัยพิบัติ)
เพื่อความสอดคล้องทั้งหมด สถาปัตยกรรมที่มีความพร้อมใช้งานสูงมักจะอ่อนไหวต่อการทำงานผิดพลาดบางอย่างที่อาจรบกวนบริการ ดังนั้น หากบริการล่ม ธุรกิจต้องมีกลยุทธ์การกู้คืนเพื่อให้ทั้งระบบทำงานอีกครั้งโดยเร็วที่สุด
ซึ่งมักเรียกกันว่าการกู้คืนจากภัยพิบัติ ซึ่งเป็นชุดนโยบายและขั้นตอนที่ออกแบบมาเพื่อให้บริการกลับมาใช้งานได้อย่างเต็มรูปแบบในกรณีที่เกิดเหตุการณ์ที่ก่อกวน
วิธีวัดความพร้อมใช้งานสูง
ความพร้อมใช้งานสูงมักจะวัดเป็นเปอร์เซ็นต์ของเวลาที่ผู้ใช้บริการได้ ซึ่งทำได้โดยการหารเวลาทำงานทั้งหมดด้วยระยะเวลาของระบบ จากนั้นคูณด้วย 100 เพื่อให้ได้เปอร์เซ็นต์ ตามอภิธานศัพท์สำหรับนักพัฒนาเครือข่ายของ Microsoft เพื่อให้เซิร์ฟเวอร์ได้รับการพิจารณาว่า "มีความพร้อมใช้งานสูง" จะต้องมีเวลาทำงานของเครือข่ายถึง 99.999%
ค่อนข้างบ่อยเปอร์เซ็นต์ความพร้อมใช้งานจะเรียกว่าจำนวนเก้าในหลัก สี่เก้าจะเป็น 99.99%
หมายเหตุ: ความพร้อมใช้งาน 99.99% ถือเป็นมาตรฐานอุตสาหกรรม
แนวทางปฏิบัติที่ดีที่สุดสำหรับความพร้อมใช้งานสูง
มีหลายขั้นตอนที่คุณสามารถทำได้เพื่อเพิ่มความพร้อมใช้งานสูง ตั้งแต่จำนวนส่วนประกอบที่คุณต้องตรวจสอบจนถึงการเปลี่ยนเซิร์ฟเวอร์ที่ล้มเหลว ต่อไปนี้คือแนวทางปฏิบัติบางประการที่คุณสามารถใช้เพื่อให้มีความพร้อมใช้งานสูง
บรรลุความซ้ำซ้อนทางภูมิศาสตร์
ความซ้ำซ้อนทางภูมิศาสตร์เป็นแนวป้องกันที่สำคัญต่อการระบาดของภัยธรรมชาติที่อาจนำไปสู่ความล้มเหลวในการให้บริการ แนวทางปฏิบัตินี้เกี่ยวข้องกับการปรับใช้เซิร์ฟเวอร์จำนวนมากตามสถานที่ทางภูมิศาสตร์ต่างๆ ดังนั้นจึงกระจายความเสี่ยงและทำให้สถาปัตยกรรมสามารถถอยกลับไปบนเซิร์ฟเวอร์อื่นได้หากเกิดภัยพิบัติทางธรรมชาติเกิดขึ้นในภูมิภาคหนึ่ง
หมายเหตุ: คุณสามารถบรรลุสิ่งนี้ได้อย่างง่ายดายด้วยฐานข้อมูลที่มี Active-Active Geo-Distribution
ใช้โซลูชันเฟลโอเวอร์
สถาปัตยกรรมที่มีความพร้อมใช้งานสูงมักจะเกี่ยวข้องกับเซิร์ฟเวอร์ที่เชื่อมต่อกันอย่างหลวม ๆ จำนวนมากที่ให้ความสามารถในการเฟลโอเวอร์ เฟลโอเวอร์ถูกมองว่าเป็นโหมดการทำงานสำรองที่ใช้โดยอัตโนมัติเมื่อฟังก์ชันของระบบหลักหยุดทำงาน
ใช้ตัวโหลดบาลานซ์
ดังที่กล่าวไว้ก่อนหน้านี้ โหลดบาลานเซอร์จะกระจายทราฟฟิกขาเข้าไปยังเซิร์ฟเวอร์ต่างๆ เพื่อลดความเสี่ยงของการหยุดทำงาน อย่าลืมกำหนดค่าโหลดบาลานเซอร์ของคุณเพื่อใช้อัลกอริทึมที่ปรับให้เหมาะกับความต้องการของคุณเพื่อเพิ่มประสิทธิภาพโซลูชันนี้อย่างเต็มที่
ตรวจสอบให้แน่ใจว่าการซิงโครไนซ์ข้อมูลของคุณตรงตามวัตถุประสงค์ของจุดกู้คืน (RPO)
RPO เป็นเครื่องหมายสำหรับจำนวนข้อมูลสูงสุดที่คุณสามารถสูญเสียได้โดยไม่ก่อให้เกิดอันตรายต่อองค์กรของคุณ สิ่งนี้เน้นให้เห็นถึงความทนทานต่อการสูญเสียข้อมูลของธุรกิจของคุณโดยรวม และมีแนวโน้มที่จะวัดเป็นหน่วยเวลา เช่น 1 นาทีหรือ 1 วัน
การตั้งค่า RPO ของคุณให้น้อยกว่าหรือเท่ากับ 60 วินาทีจะช่วยให้คุณคงความพร้อมใช้งานสูงสุดได้ การทำเช่นนี้จะช่วยให้มั่นใจได้ว่าหากมีความล้มเหลวของแหล่งที่มาหลัก คุณจะไม่สูญเสียข้อมูลมูลค่าเกิน 60 วินาที
บทบาทของ Redis ในสถาปัตยกรรมที่มีความพร้อมใช้งานสูง
Redis Enterprise เป็นโซลูชันที่ทรงพลังสำหรับองค์กรขนาดใหญ่ที่ต้องการความพร้อมใช้งานสูงสุด เป็นแพลตฟอร์มข้อมูลตามเวลาจริงที่รับรองความพร้อมใช้งานห้าเก้ารายการซึ่งให้ความยืดหยุ่นของฐานข้อมูลอัตโนมัติที่ยอดเยี่ยม ในขณะที่ลดความเสี่ยงของความล้มเหลวของฮาร์ดแวร์และความล้มเหลวของระบบคลาวด์
Redis Enterprise ตอบสนองความต้องการความพร้อมใช้งานสูงของแอปพลิเคชันระดับองค์กรที่มีความสำคัญต่อภารกิจมากที่สุด โดยนำเสนอฟังก์ชันระดับชั้นนำของอุตสาหกรรมเพื่อให้มีความพร้อมใช้งาน 99.999% โดยใช้:Active-Active Geo Distribution, Automatic Failover, Intelligent Clustering, สถาปัตยกรรมที่ไม่มีการแชร์ข้อมูล และการกระจายทั่วโลก
ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการบรรลุความพร้อมใช้งานสูงหรือไม่