Edge for Private Cloud เวอร์ชัน 4.17.05
เกี่ยวกับปัจจัยการจำลอง Cassandra
Cassandra จะจัดเก็บตัวจำลองข้อมูลไว้ในโหนดหลายรายการเพื่อให้มั่นใจได้ถึงความน่าเชื่อถือและความทนต่อความเสียหาย กลยุทธ์การจำลองสำหรับ Edge Keyspace แต่ละรายการจะกำหนดโหนดที่มีตัวจำลอง วางแล้ว
จำนวนตัวจำลองทั้งหมดสำหรับคีย์สเปซทั่วทั้งคลัสเตอร์ Cassandra เรียกว่า ปัจจัยการจำลองของ keyspace ตัวคูณการจำลอง 1 หมายถึงมีค่าเดียวเท่านั้น ของแต่ละแถวในคลัสเตอร์ Cassandra ปัจจัยการจำลองที่มี 2 หมายความว่ามี สำเนาของแต่ละแถว โดยที่สำเนาแต่ละรายการจะอยู่ในโหนดต่างกัน ตัวจำลองทั้งหมดมีความสำคัญเท่ากัน ไม่มีตัวจำลองหลักหรือตัวจำลองต้นแบบ
ค่าเริ่มต้นในระบบที่ใช้งานจริงที่มีโหนด Cassandra ตั้งแต่ 3 โหนดขึ้นไปในแต่ละศูนย์ข้อมูล ปัจจัยการจำลองสำหรับคีย์สเปซ Edge คือ 3 ค่า ตามกฎทั่วไป ปัจจัยการจำลอง ไม่ควรเกินจำนวนโหนด Cassandra ในคลัสเตอร์
ใช้ขั้นตอนต่อไปนี้เพื่อดูสคีมา Cassandra ซึ่งแสดงปัจจัยการจำลอง สำหรับช่องว่างของ Edge แต่ละรายการ
- เข้าสู่ระบบโหนด Cassandra
- เรียกใช้คำสั่งต่อไปนี้
> /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(ชื่อโฮสต์ -i) <<< "แสดง schema;"
ตำแหน่งที่ $(ชื่อโฮสต์ -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 keyspace สําหรับ ด้วยโหนด Cassandra 3 โหนด
หากคุณเพิ่มโหนด Cassandra ไปยังคลัสเตอร์ ปัจจัยการจำลองเริ่มต้นจะไม่เกิดขึ้น ที่ได้รับผลกระทบ
เช่น หากเพิ่มจำนวนโหนด Cassandra เป็น 6 โหนด แต่ปล่อยการจำลองไว้ ปัจจัยที่สาม คุณไม่ได้ตรวจสอบว่าโหนด Cassandra ทั้งหมดมีสำเนาของข้อมูลทั้งหมด หากมี โหนดไม่ทำงาน ยิ่งปัจจัยการจำลองสูงขึ้นหมายถึงความเป็นไปได้ที่สูงขึ้นที่ข้อมูลในโหนดนั้น มีอยู่ในโหนดใดโหนดหนึ่งที่เหลืออยู่ ข้อเสียของปัจจัยการจำลองที่สูงกว่าคือ เวลาในการตอบสนองต่อการเขียนข้อมูล
เกี่ยวกับระดับความสอดคล้องของ Cassandra
ระดับความสอดคล้อง Cassandra หมายถึงจำนวนโหนด Cassandra ขั้นต่ำที่ต้อง รับทราบการดำเนินการอ่านหรือเขียนก่อนที่การดำเนินการจะถือว่าสำเร็จ คุณจะกำหนดระดับความสอดคล้องที่แตกต่างกันให้กับคีย์ Space ของ Edge ที่แตกต่างกันได้
เมื่อเชื่อมต่อกับ Cassandra เพื่ออ่านและเขียน Messages โปรเซสเซอร์และการจัดการ โดยปกติโหนดเซิร์ฟเวอร์จะใช้ค่า 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 โหนดในข้อมูล Center ต้องตอบสนองต่อการดำเนินการอ่าน/เขียนเพื่อให้การดำเนินการสำเร็จ สำหรับ 3 โหนด คลัสเตอร์ของ Cassandra ทำให้คลัสเตอร์สามารถยอมรับโหนด 1 โหนดที่ไม่ทำงานต่อศูนย์ข้อมูล
Edge จะหลีกเลี่ยงเวลาในการตอบสนองได้ด้วยการระบุระดับความสอดคล้องเป็น LOCAL_QUORUM ที่จำเป็นโดยการตรวจสอบการดำเนินการในศูนย์ข้อมูลหลายแห่ง หากคีย์สเปซใช้ Cassandra ค่า QUORUM เป็นระดับความสอดคล้อง การดำเนินการอ่าน/เขียนจะต้องเป็น ตรวจสอบในทุกศูนย์ข้อมูล
วิธีดูระดับความสอดคล้องที่ Edge Message Processor หรือเซิร์ฟเวอร์การจัดการใช้ โหนด:
- เข้าสู่ระบบโหนดตัวประมวลผลข้อความ
- เปลี่ยนเป็นไดเรกทอรี /opt/apigee/edge-message-processor/conf:
> cd /opt/apigee/edge-message-processor/conf - เพื่อความสอดคล้องในการเขียน:
> grep -ri "write.consistencylevel" * - เพื่อความสอดคล้องในการอ่าน:
> grep -ri "read.constantlevel" * - เข้าสู่ระบบโหนดเซิร์ฟเวอร์การจัดการ
- การเปลี่ยนแปลงไดเรกทอรี /opt/apigee/edge-management-server/conf:
> cd /opt/apigee/edge-management-server/conf - ทำขั้นตอน 3 และ 4 ซ้ำ
หากคุณเพิ่มโหนด Cassandra ไปยังคลัสเตอร์ ระดับความสอดคล้องจะไม่ได้รับผลกระทบ