Edge for Private Cloud v4.18.05
เกี่ยวกับปัจจัยการทําซ้ำของ Cassandra
Cassandra จัดเก็บข้อมูลจำลองในโหนดหลายโหนดเพื่อให้เกิดความเสถียรและทนต่อข้อบกพร่อง กลยุทธ์การทําซ้ำสําหรับคีย์สเปซ Edge แต่ละรายการจะกําหนดโหนดที่จะวางข้อมูลจำลอง
จำนวนรีพลิคาทั้งหมดสำหรับคีย์สเปซในคลัสเตอร์ Cassandra เรียกว่าปัจจัยการจำลองข้อมูลของคีย์สเปซ ปัจจัยการทําซ้ำ 1 หมายถึงมีสำเนาของแถวแต่ละแถวในคลัสเตอร์ Cassandra เพียง 1 รายการ ปัจจัยการทําซ้ำ 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 ลงในคลัสเตอร์ ปัจจัยการทําซ้ำเริ่มต้นจะไม่ได้รับผลกระทบ
ตัวอย่างเช่น หากคุณเพิ่มจำนวนโหนด Cassandra เป็น 6 แต่ยังคงปัจจัยการทําซ้ำไว้ที่ 3 คุณจะไม่สามารถรับประกันได้ว่าโหนด Cassandra ทั้งหมดจะมีสําเนาของข้อมูลทั้งหมด หากโหนดหนึ่งหยุดทำงาน ปัจจัยการทําซ้ำที่สูงขึ้นหมายความว่าข้อมูลในโหนดนั้นๆ มีโอกาสที่จะอยู่ในโหนดที่เหลืออยู่มากกว่า ข้อเสียของปัจจัยการจําลองที่สูงขึ้นคือเวลาในการตอบสนองที่เพิ่มขึ้นในการเขียนข้อมูล
เกี่ยวกับระดับความสอดคล้องของ Cassandra
ระดับความสอดคล้องของ Cassandra หมายถึงจํานวนโหนด Cassandra ขั้นต่ำที่ต้องรับทราบการดําเนินการอ่านหรือเขียนก่อนจึงจะถือว่าการดำเนินการสําเร็จ คุณกำหนดระดับความสอดคล้องให้กับคีย์สเปซ Edge แต่ละรายการได้
เมื่อเชื่อมต่อกับ Cassandra สําหรับการดําเนินการอ่านและเขียน โดยทั่วไปโหนดเซิร์ฟเวอร์ตัวประมวลผลข้อความและการจัดการจะใช้ค่า 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 โหนด คลัสเตอร์จะทนได้หากโหนดหนึ่งหยุดทํางานต่อศูนย์ข้อมูล
การระบุระดับความสอดคล้องเป็น LOCAL_QUORUM
จะทำให้ Edge หลีกเลี่ยงเวลาในการตอบสนองที่จําเป็นสำหรับการตรวจสอบการดำเนินการในศูนย์ข้อมูลหลายแห่ง หากคีย์สเปซใช้ค่า QUORUM
ของ Cassandra เป็นระดับความสอดคล้อง การดำเนินการอ่าน/เขียนจะต้องได้รับการตรวจสอบในศูนย์ข้อมูลทั้งหมด
วิธีดูระดับความสอดคล้องที่ใช้โดยโหนดตัวประมวลผลข้อความ Edge หรือเซิร์ฟเวอร์การจัดการ
- เข้าสู่ระบบโหนด 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 ลงในคลัสเตอร์ ระดับความสอดคล้องจะไม่ได้รับผลกระทบ