อะไรคือความแตกต่างระหว่างการเฟลโอเวอร์และความพร้อมใช้งานสูง?

จากการอ่านเอกสาร jboss ของฉันมันบอกว่า

เรากำหนดความพร้อมใช้งานสูงว่าเป็นความสามารถสำหรับระบบในการทำงานต่อไปหลังจากความล้มเหลวของเซิร์ฟเวอร์ตั้งแต่หนึ่งเครื่องขึ้นไป ส่วนหนึ่งของความพร้อมใช้งานสูงคือการเฟลโอเวอร์ซึ่งเรากำหนดไว้ว่าเป็นความสามารถสำหรับการเชื่อมต่อไคลเอนต์ในการย้ายจากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งในกรณีที่เซิร์ฟเวอร์ล้มเหลว เพื่อให้แอปพลิเคชันไคลเอนต์สามารถทำงานได้ต่อไป

การเฟลโอเวอร์เป็นส่วนหนึ่งของความพร้อมใช้งานสูงหรือไม่ เราจะแยกความแตกต่างระหว่างการเฟลโอเวอร์กับความพร้อมใช้งานสูงได้อย่างไร




คำตอบ (3)


ความพร้อมใช้งานสูง

หมายถึงความจริงที่ว่าระบบเซิร์ฟเวอร์มีความทนทานต่อความล้มเหลวในทางใดทางหนึ่ง โดยส่วนใหญ่แล้วจะกระทำด้วยความซ้ำซ้อนของฮาร์ดแวร์ สมมติว่าเครื่องมีแหล่งจ่ายไฟสำรอง หากเกิดข้อผิดพลาด เครื่องจะยังคงทำงานต่อไป

การเฟลโอเวอร์

จากนั้น คุณจะมีความซ้ำซ้อนของแอปพลิเคชัน (เฟลโอเวอร์) ซึ่งโดยทั่วไปหมายถึงความสามารถของแอปพลิเคชันที่ทำงานบนการติดตั้งฮาร์ดแวร์หลายตัวเพื่อตอบสนองต่อไคลเอนต์ในลักษณะที่สอดคล้องกันจากการติดตั้งฮาร์ดแวร์เหล่านั้น ด้วยวิธีนี้ หากฮาร์ดแวร์ล้มเหลวโดยสิ้นเชิง หรือ O/S เสียในเครื่องใดเครื่องหนึ่ง เครื่องอื่นก็สามารถดำเนินต่อไปได้

SQL Server จัดการกับความซ้ำซ้อนของแอปพลิเคชันในสี่วิธี:

  • การจัดกลุ่ม
  • มิเรอร์
  • การจำลอง
  • บันทึกการจัดส่ง
person blairmeister    schedule 29.05.2015
comment
ฉันคิดว่าความพร้อมใช้งานสูงไม่เพียงแต่เกี่ยวกับความทนทานต่อความล้มเหลวเท่านั้น แต่ยังเกี่ยวกับความพร้อมใช้งานทั่วไปของบริการที่มีให้ด้วย นอกจากนี้ยังอาจรวมถึงการปรับใช้ SW (OS, มิดเดิลแวร์, แอปพลิเคชัน) และการเปลี่ยนแปลง HW ในโซลูชันโดยไม่ทำให้ความพร้อมใช้งานลดลง - person rolish; 20.01.2017

การเฟลโอเวอร์เป็นวิธีหนึ่งในการบรรลุความพร้อมใช้งานสูง (HA) คิดว่า HA เป็นคุณลักษณะหนึ่งและการเปลี่ยนระบบเมื่อเกิดข้อผิดพลาดเป็นการใช้งานคุณลักษณะนั้นอย่างหนึ่งที่เป็นไปได้ การเฟลโอเวอร์ไม่ใช่สิ่งเดียวที่ต้องพิจารณาเสมอไปเมื่อบรรลุ HA

ตัวอย่างเช่น Cassandra ได้รับ HA ผ่านการจำลองแบบ แต่ ระดับ ของความพร้อมใช้งานจะถูกกำหนดโดยการตั้งค่าความสอดคล้องของข้อมูล โดยพื้นฐานแล้ว การตั้งค่าเหล่านี้จะกำหนดจำนวนโหนดที่ต้องตอบสนองต่อการดำเนินการ (อ่านหรือเขียน) เพื่อให้ประสบความสำเร็จ การกำหนดให้โหนดมากขึ้นเพื่อตอบสนองหมายถึงความพร้อมใช้งานน้อยลง และการกำหนดให้โหนดน้อยลงหมายถึงความพร้อมใช้งานมากขึ้น นั่นคือตัวอย่างของ HA ที่ไม่เกี่ยวข้องกับการเฟลโอเวอร์ พูดอย่างเคร่งครัด

person BitMask777    schedule 20.11.2015

ความพร้อมใช้งานสูง (เรียกสั้น ๆ ว่า HA) เป็นคำที่กว้าง ดังนั้นเมื่อฉันคิดถึงมัน ฉันมักจะคิดว่าเป็น คลัสเตอร์ HA .

จากคลัสเตอร์ Wikipedia High-availability:

คลัสเตอร์ที่มีความพร้อมใช้งานสูงคือกลุ่มของคอมพิวเตอร์ที่รองรับแอปพลิเคชันเซิร์ฟเวอร์ที่สามารถใช้งานได้อย่างเชื่อถือได้โดยมีเวลาหยุดทำงานขั้นต่ำ ทำงานโดยใช้ซอฟต์แวร์ที่มีความพร้อมใช้งานสูงเพื่อควบคุมคอมพิวเตอร์สำรองในกลุ่มหรือคลัสเตอร์ที่ให้บริการอย่างต่อเนื่องเมื่อส่วนประกอบของระบบล้มเหลว หากไม่มีการทำคลัสเตอร์ หากเซิร์ฟเวอร์ที่เรียกใช้แอปพลิเคชันเฉพาะขัดข้อง แอปพลิเคชันจะไม่สามารถใช้งานได้จนกว่าเซิร์ฟเวอร์ที่เสียหายจะได้รับการแก้ไข

ดังนั้น สิ่งที่ได้จากคำอธิบายข้างต้นก็คือ คลัสเตอร์ HA จะให้จำนวนเวลาหยุดทำงานขั้นต่ำแก่คุณ ให้ฉันอธิบาย การเฟลโอเวอร์สองประเภทที่คลัสเตอร์ HA สามารถให้บริการคุณได้:

  1. ร้อน-ร้อน / ใช้งานอยู่-ใช้งานอยู่: คอมพิวเตอร์สำรองทำงานแบบขนานอย่างแท้จริง โดยมีสถานะเดียวกันทุกประการ และเอาต์พุตเหมือนกันทุกประการ พวกมันทั้งหมดเป็นโหนดที่ทำงานอยู่ โดยทำหน้าที่เป็นกระจกเงาที่สมบูรณ์แบบของกันและกัน ในสถานการณ์นี้ เวลาหยุดทำงานเมื่อเกิดข้อผิดพลาดจะเป็นศูนย์ และคุณสามารถดึงปลั๊กไฟจากเครื่องใดก็ได้ในคลัสเตอร์โดยไม่เกิดการหยุดทำงานหรือการหยุดชะงักในบริการของคุณ

  2. Hot-Warn / Active-Passive: มีคอมพิวเตอร์หลักเพียงเครื่องเดียวเท่านั้นที่เป็นเครื่องที่ใช้งานอยู่ ในขณะที่คอมพิวเตอร์เครื่องอื่นในคลัสเตอร์กำลังสร้างสถานะเดียวกันกับเครื่องหลักขึ้นมาใหม่ เมื่อคอมพิวเตอร์หลักล้มเหลว จะต้องปิดการใช้งานหรือปิดการทำงาน (โดยอัตโนมัติหรือโดยผู้ปฏิบัติงาน) จากนั้นคอมพิวเตอร์แบบพาสซีฟจากคลัสเตอร์จะต้องเปิดใช้งาน (โดยอัตโนมัติหรือโดยผู้ปฏิบัติงาน)

สิ่งที่จับได้คืออะไร สิ่งที่จับได้ก็คือแอปพลิเคชันที่สามารถทำงานในคลัสเตอร์ HA นั้นไม่ใช่เรื่องเล็กน้อยในการออกแบบ เนื่องจากจำเป็นต้องเป็นเครื่องจักรสถานะจำกัดที่กำหนดอย่างแท้จริง ปัญหาคลาสสิกเกิดขึ้นเมื่อแอปพลิเคชันของคุณ จำเป็นต้องใช้นาฬิกาเพื่อสร้างสถานะตามเวลา เนื่องจากนาฬิกานั้นไม่สามารถกำหนดได้โดยธรรมชาติ

ข้อจำกัดความรับผิดชอบ: ฉันเป็นหนึ่งในผู้พัฒนา CoralSequencer

person rdalmeida    schedule 23.06.2021