เกี่ยวกับปัจจัยการจำลอง Cassandra
Cassandra จะจัดเก็บตัวจำลองข้อมูลไว้ในโหนดหลายรายการเพื่อให้มั่นใจได้ถึงความน่าเชื่อถือและความทนต่อความเสียหาย กลยุทธ์การจำลองสำหรับ Edge Keyspace แต่ละรายการจะกำหนดโหนดที่มีตัวจำลอง วางแล้ว
จำนวนตัวจำลองทั้งหมดสำหรับคีย์สเปซทั่วทั้งคลัสเตอร์ Cassandra เรียกว่า ปัจจัยการจำลองของ keyspace ตัวคูณการจำลอง 1 หมายถึงมีค่าเดียวเท่านั้น ของแต่ละแถวในคลัสเตอร์ Cassandra ปัจจัยการจำลองที่มี 2 หมายความว่ามี สำเนาของแต่ละแถว โดยที่สำเนาแต่ละรายการจะอยู่ในโหนดต่างกัน ตัวจำลองทั้งหมดมีความสำคัญเท่ากัน ไม่มีตัวจำลองหลักหรือตัวจำลองต้นแบบ
ค่าเริ่มต้นในระบบที่ใช้งานจริงที่มีโหนด Cassandra ตั้งแต่ 3 โหนดขึ้นไปในแต่ละศูนย์ข้อมูล ปัจจัยการจำลองสำหรับคีย์สเปซ Edge คือ 3 ค่า ตามกฎทั่วไป ปัจจัยการจำลอง ไม่ควรเกินจำนวนโหนด Cassandra ในคลัสเตอร์
ใช้ขั้นตอนต่อไปนี้เพื่อดูสคีมา Cassandra ซึ่งแสดงปัจจัยการจำลองสำหรับแป้น Edge แต่ละรายการ
- เข้าสู่ระบบโหนด Cassandra
- เรียกใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-cassandra/bin/cqlsh $(hostname -i) [-u
cassuser
-pcasspass
] -e "select keyspace_name, replication from system_schema.keyspaces;"ตำแหน่งที่
$(hostname -i)
เปลี่ยนเป็นที่อยู่ IP ของโหนด Cassandra หรือแทนที่$(hostname -i)
ด้วยที่อยู่ IP ของโหนดก็ได้cassuser
: หากเปิดใช้การตรวจสอบสิทธิ์ Cassandra ให้ส่งชื่อผู้ใช้ Cassandra ขั้นตอนนี้เป็นขั้นตอนที่ไม่บังคับ และคุณสามารถข้ามได้ หากคุณไม่ได้เปิดใช้การตรวจสอบสิทธิ์ Cassandracasspass
: หากเปิดใช้การตรวจสอบสิทธิ์ Cassandra ให้ส่งรหัสผ่าน Cassandra ขั้นตอนนี้เป็นขั้นตอนที่ไม่บังคับ และคุณสามารถข้ามได้ หากคุณไม่ได้เปิดใช้การตรวจสอบสิทธิ์ Cassandra
คุณจะเห็นเอาต์พุตเหมือนตัวอย่างด้านล่าง โดยที่แต่ละแถวแสดงแทนคีย์สเปซ 1 ช่อง
keyspace_name | replication kms | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'} system_distributed | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'} apprepo | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'}
คุณจะเห็นว่าสำหรับศูนย์ข้อมูล 1, dc-1 ปัจจัยการจำลองเริ่มต้นสำหรับคีย์เว้นวรรค กม. คือ 3 สำหรับการติดตั้งด้วยโหนด Cassandra 3 โหนด สำหรับช่องว่างภายในของ Cassandra (เช่น system, system_schema ฯลฯ) กลยุทธ์การจำลองและปัจจัยการจำลองอาจแตกต่างกัน นี่เป็นลักษณะการทำงานของระบบโดยเจตนา
หากคุณเพิ่มโหนด 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 หรือเซิร์ฟเวอร์การจัดการใช้
- เข้าสู่ระบบโหนดตัวประมวลผลข้อความ
- เปลี่ยนเป็นไดเรกทอรี
/opt/apigee/edge-message-processor/conf
:cd /opt/apigee/edge-message-processor/conf
- เพื่อให้อ่านและเขียนได้สอดคล้องกัน
grep -ri "consistency.level" *
- เข้าสู่ระบบโหนดเซิร์ฟเวอร์การจัดการ
- เปลี่ยนเป็นไดเรกทอรี
/opt/apigee/edge-management-server/conf
:cd /opt/apigee/edge-management-server/conf
- ทำขั้นตอนที่ 3 ซ้ำ
หากคุณเพิ่มโหนด Cassandra ไปยังคลัสเตอร์ ระดับความสอดคล้องจะไม่ได้รับผลกระทบ