Edge for Private Cloud เวอร์ชัน 4.16.09
เกี่ยวกับปัจจัยการจำลอง Cassandra
Cassandra จัดเก็บข้อมูลจำลองไว้ในหลายโหนดเพื่อให้มั่นใจในความน่าเชื่อถือและความคงทนต่อความเสียหาย กลยุทธ์การจำลองสำหรับคีย์สเปซ Edge แต่ละรายการจะกำหนดโหนดที่มีการวางตัวจำลองไว้
จำนวนรวมของตัวจำลองสำหรับคีย์สเปซในคลัสเตอร์ Cassandra เรียกว่าปัจจัยการจำลองของคีย์สเปซ ปัจจัยการจำลองเป็น 1 หมายความว่ามีสำเนาของแต่ละแถวเพียง 1 รายการในคลัสเตอร์ Cassandra ปัจจัยการจำลอง 2 หมายความว่ามีสำเนาของแต่ละแถว 2 ชุด โดยแต่ละชุดจะอยู่ในโหนดที่ต่างกัน ตัวจำลองทั้งหมดมีความสำคัญเท่ากัน โดยไม่มีตัวจำลองหลักหรือตัวจำลองต้นแบบ
ในระบบเวอร์ชันที่ใช้งานจริงซึ่งมีโหนด Cassandra อย่างน้อย 3 โหนดในแต่ละศูนย์ข้อมูล ปัจจัยการจำลองเริ่มต้นสำหรับคีย์สเปซ Edge คือ 3 ตามกฎทั่วไป ปัจจัยการจำลองไม่ควรเกินจำนวนโหนด Cassandra ในคลัสเตอร์
ใช้ขั้นตอนต่อไปนี้เพื่อดูสคีมา Cassandra ซึ่งแสดงปัจจัยการจำลองสำหรับคีย์สเปซ Edge แต่ละรายการ
- เข้าสู่ระบบโหนด Cassandra
- เรียกใช้คำสั่งต่อไปนี้
> /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(hostname -i) <<< "show schema;"
โดยที่ $(hostname -i) จะแปลงเป็นที่อยู่ IP ของโหนด Cassandra หรือจะแทนที่ $(hostname -i) ด้วยที่อยู่ IP ของโหนดก็ได้
สำหรับคีย์สเปซแต่ละรายการ คุณจะเห็นเอาต์พุตในรูปแบบต่อไปนี้
create keyspace kms
with placement_strategy = 'NetworkTopologyStrategy'
and strategy_options = {dc-1 : 3}
and durable_writes = true;คุณจะเห็นว่าสำหรับศูนย์ข้อมูล 1 dc-1 ปัจจัยการจำลองเริ่มต้นสำหรับคีย์สเปซ kms คือ 3 สำหรับการติดตั้งที่มีโหนด Cassandra 3 โหนด
หากคุณเพิ่มโหนด Cassandra ลงในคลัสเตอร์ ปัจจัยการจำลองเริ่มต้นจะไม่ได้รับผลกระทบ อย่างไรก็ตาม หากคุณตัดสินใจว่าต้องการเพิ่มปัจจัยการจำลอง โปรดติดต่อ Apigee
ตัวอย่างเช่น หากคุณเพิ่มจำนวนโหนด Cassandra เป็น 6 โหนด แต่ปล่อยให้ปัจจัยการจำลองอยู่ที่ 3 คุณจะไม่สามารถรับประกันได้ว่าโหนด Cassandra ทั้งหมดจะมีสำเนาของข้อมูลทั้งหมด หากโหนดหยุดทำงาน ปัจจัยการจำลองที่สูงขึ้นหมายความว่ามีโอกาสสูงขึ้นที่ข้อมูลในโหนดจะอยู่ในโหนดที่เหลืออยู่โหนดใดโหนดหนึ่ง ข้อเสียของปัจจัยการจำลองที่สูงขึ้นคือเวลาในการตอบสนองที่เพิ่มขึ้นในการเขียนข้อมูล
เกี่ยวกับระดับความสอดคล้องของ Cassandra
ระดับความสอดคล้องของ Cassandra หมายถึงจำนวนโหนด Cassandra ขั้นต่ำที่ต้องรับรู้การดำเนินการอ่านหรือเขียนก่อนที่การดำเนินการจะถือว่าสำเร็จ คุณสามารถกำหนดระดับความสอดคล้องกันที่แตกต่างกันให้กับคีย์สเปซ Edge ที่แตกต่างกันได้
เมื่อเชื่อมต่อกับ Cassandra เพื่อดำเนินการอ่านและเขียน โดยทั่วไปแล้วโหนด Message Processor และ Management Server จะใช้ค่า Cassandra เป็น LOCAL_QUORUM เพื่อระบุระดับความสอดคล้องสำหรับคีย์สเปซ อย่างไรก็ตาม มีการกำหนดคีย์สเปซบางรายการให้ใช้ระดับความสอดคล้องเป็น 1
การคำนวณค่าของ LOCAL_QUORUM สำหรับศูนย์ข้อมูลคือ
LOCAL_QUORUM = (replication_factor/2) + 1
ตามที่อธิบายไว้ข้างต้น ปัจจัยการจำลองเริ่มต้นสำหรับสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์ Edge ที่มีโหนด Cassandra 3 โหนดคือ 3 ดังนั้น ค่าเริ่มต้นของ LOCAL_QUORUM = (3/2) +1 = 2 (ค่าจะปัดเศษลงเป็นจำนวนเต็ม)
เมื่อ LOCAL_QUORUM = 2 โหนด Cassandra อย่างน้อย 2 ใน 3 โหนดในศูนย์ข้อมูลต้องตอบสนองต่อการดำเนินการอ่าน/เขียนเพื่อให้การดำเนินการสำเร็จ สำหรับคลัสเตอร์ Cassandra แบบ 3 โหนด คลัสเตอร์จึงสามารถทนต่อการหยุดทำงานของโหนดได้ 1 โหนดต่อศูนย์ข้อมูล
การระบุระดับความสอดคล้องเป็น LOCAL_QUORUM จะช่วยให้ Edge หลีกเลี่ยงเวลาในการตอบสนองที่จำเป็นสำหรับการตรวจสอบการดำเนินการในศูนย์ข้อมูลหลายแห่ง หากคีย์สเปซใช้ค่า QUORUM ของ Cassandra เป็นระดับความสอดคล้อง การดำเนินการอ่าน/เขียนจะต้องได้รับการตรวจสอบในศูนย์ข้อมูลทั้งหมด
หากต้องการดูระดับความสอดคล้องที่โหนด Edge Message Processor หรือ Management Server ใช้ ให้ทำดังนี้
- เข้าสู่ระบบโหนด Message Processor
- เปลี่ยนเป็นไดเรกทอรี /opt/apigee/edge-message-processor/conf:
> cd /opt/apigee/edge-message-processor/conf - สำหรับความสอดคล้องในการเขียน:
> grep -ri "write.consistencylevel" * - สำหรับความสอดคล้องในการอ่าน:
> grep -ri "read.consistencylevel" * - เข้าสู่ระบบโหนดเซิร์ฟเวอร์การจัดการ
- เปลี่ยนเป็นไดเรกทอรี /opt/apigee/edge-management-server/conf:
> cd /opt/apigee/edge-management-server/conf - ทำขั้นตอน 3 และ 4 ซ้ำ
หากคุณเพิ่มโหนด Cassandra ลงในคลัสเตอร์ ระดับความสอดคล้องจะไม่ได้รับผลกระทบ อย่างไรก็ตาม หากคุณตัดสินใจว่าต้องการเปลี่ยนระดับความสอดคล้อง โปรดติดต่อ Apigee