เกี่ยวกับความซ้ำซ้อนและการปรับสมดุลโหลด
ด้วยแผนขั้นสูงสุดของ CAMServerง่ายมากในสภาพแวดล้อมภายในองค์กรเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์วิดีโอสามารถดำเนินการซ้ำซ้อนและปรับสมดุลโหลดได้ ซึ่งช่วยให้บริการสามารถดำเนินต่อไปได้แม้ว่าเซิร์ฟเวอร์ตัวใดตัวหนึ่งล่ม และแม้ว่าผู้ใช้จำนวนมากจะใช้งาน ก็สามารถกระจายการประมวลผลและให้บริการได้โดยไม่ลดประสิทธิภาพลง
การกำหนดค่าแบบกระจาย แคมเซิร์ฟเวอร์
อย่างไรก็ตาม การสื่อสารแบบเรียลไทม์ก็เป็นไปได้ ตัวอย่างเช่น,แคมเซิร์ฟเวอร์1
ลูกค้าที่เชื่อมต่อกับCAMServer2
คุณสามารถสนทนาหรือประชุมทางเว็บกับไคลเอนต์อื่นที่เชื่อมต่อกับ การปรับสมดุลโหลดเซิร์ฟเวอร์วิดีโอจะดำเนินการตามจำนวนการประชุมที่ใช้งานอยู่และจำนวนผู้ใช้ที่เข้าร่วม
จำนวนการประชุมผ่านเว็บพร้อมกันนั้นง่ายมากแคมเซิร์ฟเวอร์
สิ่งนี้ไม่สามารถทำได้โดยการเพิ่มจำนวนโหนด นอกจากนี้ยังจำเป็นต้องพิจารณาการกำหนดค่าเครือข่ายเพื่อไม่ให้การประชุมทั้งหมดส่งต่อผ่าน VPN หรือเราเตอร์กลางเดียวกัน
การกำหนดค่าการกระจายความซ้ำซ้อน/โหลด
คุณสามารถกำหนดค่าสภาพแวดล้อมที่เหมาะสมที่สุดตามระดับคำขอและต้นทุนของบริษัทของคุณได้
การกำหนดค่าเริ่มต้นเล็กน้อย

- พื้นที่จัดเก็บ:วาง DB/File บนฝั่ง CAMServer1 และอ้างอิงจาก CAMServer2 เช่นกัน ในกรณีนี้ ผู้ใช้ทุกคนสามารถแชร์ข้อมูลได้แบบเรียลไทม์
- การสำรองข้อมูล: ข้อมูล DB/ไฟล์จำเป็นต้องได้รับการสำรองไว้ที่ CAMServer2 ทุกวัน
- การกระจายโหลด: การกระจายโหลดสามารถทำได้โดยการแบ่ง CAMServer ที่เข้าถึงตามแผนก (หรือทำให้เป็นระบบสแตนด์บาย)
- ความพร้อมใช้งาน: เมื่อเกิดความล้มเหลวเวอร์ชันเว็บแอป ถ้าคุณใช้
cam.clusterHosts
การตรวจจับและการเฟลโอเวอร์อัตโนมัติ ในกรณีที่ดิสก์ล้มเหลวการสำรองข้อมูลได้ทำรับประกันข้อมูลถึงวันก่อนหน้า - ค่าใช้จ่าย: การกำหนดค่าที่ถูกที่สุด คุณสามารถเริ่มต้นด้วยการกำหนดค่าหน่วยเดียวและขยายขนาดตามปริมาณงาน
การกำหนดค่าที่จัดเก็บข้อมูลภายนอก (NAS)

- พื้นที่จัดเก็บ: วาง DB/ไฟล์บน NAS ที่จัดเก็บข้อมูลภายนอกที่มีความทนทานสูงในการกำหนดค่า RAID และอ้างอิงทั้ง CAMServer1 และ CAMServer2
- การสำรองข้อมูล: แม้ว่าจะมีการกำหนดค่า RAID ก็จำเป็นต้องสำรองข้อมูล DB/ไฟล์ทุกวันเพื่อพิจารณาถึงความล้มเหลวของแหล่งจ่ายไฟ/เคส และความล้มเหลวของมนุษย์
- การกระจายโหลด: เช่นเดียวกับการกำหนดค่าเริ่มต้นขนาดเล็ก
- ความพร้อมใช้งาน: เช่นเดียวกับการกำหนดค่าเริ่มต้นขนาดเล็ก
- ค่าใช้จ่าย: การกำหนดค่าค่อนข้างถูก
การกำหนดค่าที่จัดเก็บข้อมูลภายนอกซ้ำซ้อน

- พื้นที่จัดเก็บ: การกำหนดค่าที่เน้นความพร้อมใช้งานสูงต่อความล้มเหลวของดิสก์โดยใช้เซิร์ฟเวอร์การแชร์ไฟล์ที่ซ้ำซ้อน (Windows Server Failover Clustering +SAN, AWS S3 ฯลฯ)
- การสำรองข้อมูล: ข้อมูลจะถูกจำลองแบบอัตโนมัติ ดังนั้นจึงไม่จำเป็นต้องสำรองข้อมูล ทั้งนี้ขึ้นอยู่กับนโยบาย อย่างไรก็ตาม หากคุณกำลังพิจารณาถึงความล้มเหลวของมนุษย์ (เช่น การลบดิสก์ด้วยตนเอง) คุณจะยังคงต้องมีการสำรองข้อมูล
- การกระจายโหลด: เช่นเดียวกับการกำหนดค่าเริ่มต้นขนาดเล็ก
- ความพร้อมใช้งาน: เว็บเซิร์ฟเวอร์เหมือนกับการกำหนดค่าเริ่มต้นขนาดเล็ก การสลับอัตโนมัติสามารถทำได้แม้ในกรณีที่เกิดความล้มเหลวเนื่องจากดิสก์หรือตัวเครื่องขัดข้อง
- ค่าใช้จ่าย: ค่าใช้จ่ายในการแนะนำสูง AWS S3 สามารถสร้างได้ด้วยต้นทุนที่ต่ำ แต่ไม่ใช่ตัวเลือกหากคุณมุ่งเน้นที่ภายในองค์กร
การกำหนดค่าโหลดบาลานเซอร์

- พื้นที่จัดเก็บ: การกำหนดค่าเริ่มต้นขนาดเล็ก / สามารถเลือก NAS / SAN ได้
- การสำรองข้อมูล: เช่นเดียวกับการกำหนดค่าเริ่มต้นขนาดเล็ก / NAS / SAN
- การกระจายโหลด:โดยการวาง Load Balancer ไว้ที่ด้านหน้า CAMServer จะทำให้เกิดความซ้ำซ้อนและการกระจายโหลดได้* รายละเอียดข้อกำหนดการกำหนดค่า Load Balancerกรุณาตรวจสอบด้วย
- ความพร้อมใช้งาน: สามารถเฟลโอเวอร์อัตโนมัติสำหรับทุกเลเยอร์เมื่อรวมกับการกำหนดค่าที่จัดเก็บข้อมูลภายนอกที่ซ้ำซ้อน
- ค่าใช้จ่าย: ค่าใช้จ่ายในการแนะนำสูง
การตั้งค่าความซ้ำซ้อน/โหลดบาลานซ์
การตั้งค่าทั่วไปสำหรับแต่ละเซิร์ฟเวอร์แบบกระจาย
เพื่อรองรับ CAMServer redundancy และ load balancing ให้ติดตั้ง CAMServer บนเซิร์ฟเวอร์แบบกระจายแต่ละเครื่องCAMServer/cam.ini
เพิ่มรายการต่อไปนี้ลงในไฟล์
cam.clusterHosts=camserver1;camserver2
cam.clusterHostsDesc=camserver1 がメインサーバ、camserver2 は待機系サーバです。
cam.serverDatePath=\\disk\CAMServer\data
cam.enabledSingleProcessingHost=camserver1
cam.clusterHosts
cam.clusterHosts
คือชื่อโฮสต์ของแต่ละเซิร์ฟเวอร์แบบกระจาย ;
แจกแจงแยกกันโดย. ชื่อโฮสต์จากฝั่งไคลเอ็นต์ https://ชื่อโฮสต์/
จะต้องสามารถเข้าถึงได้
cam.clusterHosts=camserver1;camserver2
หากคุณต้องการแยก CAMServers สำหรับแต่ละแผนก ให้เขียนชื่อโฮสต์ไว้ที่จุดเริ่มต้นของไฟล์ ini ของแต่ละ CAMServer ลำดับการแจงนับได้รับผลกระทบเมื่อเลือกเซิร์ฟเวอร์การเชื่อมต่อเริ่มต้นและเซิร์ฟเวอร์วิดีโอเมื่อเริ่มต้นระบบ อีกด้วยเวอร์ชันเว็บแอป โดยใช้ การเชื่อมต่อเฟลโอเวอร์เป็นไปได้ในกรณีที่เกิดความล้มเหลว

cam.clusterHostsDesc
cam.clusterHostsDesc
สามารถเปลี่ยนความคิดเห็นในช่องคำอธิบายเซิร์ฟเวอร์แบบกระจาย

cam.serverDatePath
cam.serverDatePath
ระบุฐานข้อมูลที่จะบันทึกไฟล์แนบที่อัพโหลด ระบุดิสก์ที่ใช้ร่วมกัน เช่น NAS ที่สามารถเข้าถึงได้จากเซิร์ฟเวอร์แบบกระจาย
*หากไม่มีดิสก์ที่ใช้ร่วมกัน CAMServer ย่อยจะเป็น CAMServer หลัก CAMServer/การกำหนดค่า
พื้นที่เก็บข้อมูลสามารถแชร์ได้โดยการระบุโฟลเดอร์
cam.enabledSingleProcessingHost
cam.enabledSingleProcessingHost
โปรดระบุชื่อโฮสต์ของเซิร์ฟเวอร์แรกที่แสดงอยู่ใน cam.clusterHosts กระบวนการที่สามารถรันบนโฮสต์เดียวเท่านั้น เช่น การประมวลผลแบบแบตช์ ได้รับการกำหนดค่าให้ดำเนินการหลังจากพิจารณาว่าโฮสต์ถูกกำหนดไว้ใน cam.enabledSingleProcessingHost หรือไม่
ตั้งค่าเซิร์ฟเวอร์ย่อยเท่านั้น
cam.disableLANNetwork=true
คุณสามารถปิดใช้งานการเชื่อมต่อ TCP/UDP สำหรับ LAN ได้โดยการตั้งค่า ดำเนินการตั้งค่านี้สำหรับ CAMServers ย่อยตัวที่สองและตัวถัดไป
cam.disableLANNetwork=true
การอนุญาตการสื่อสารไฟร์วอลล์สำหรับการซิงโครไนซ์ข้อมูลระหว่างเซิร์ฟเวอร์
- การอัปเดตข้อมูลแบบเรียลไทม์ (สถานะการแสดงตนของผู้ใช้ ข้อความ ห้องสนทนา ฯลฯ) จะถูกซิงโครไนซ์ระหว่าง CAMServers ดังนั้นจึงต้องได้รับอนุญาตสำหรับการสื่อสารระหว่างเซิร์ฟเวอร์โดยใช้ไฟร์วอลล์ ฯลฯ
- พอร์ต TCP 9090, 9091 และ 9092 สำหรับการเข้าถึงโหนดมาสเตอร์ DB
- พอร์ต TCP 8080 สำหรับ URL การเชื่อมต่อระหว่างเซิร์ฟเวอร์
- กำหนดไว้ในไฟล์ ini cam.clusterHosts
- ตัวอย่าง) cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080
รายละเอียดข้อกำหนดโหลดบาลานเซอร์
เราจะอธิบายรายละเอียดข้อกำหนดที่จำเป็นสำหรับการกำหนดค่า Load Balancer

1. การยกเลิก SSL
- ติดตั้งใบรับรอง SSL บนโหลดบาลานเซอร์และทำการถอดรหัส SSL/TLS
- การสื่อสารจากไคลเอ็นต์ได้รับการยอมรับโดยใช้ HTTPS และใช้ HTTP จากโหลดบาลานเซอร์ไปยังแบ็กเอนด์
2. อัลกอริธึมการปรับสมดุลโหลด
- โหลดบาลานซ์ด้วย Round Robin
- จำเป็นต้องมีการบำรุงรักษาเซสชันตามคุกกี้ (ความสัมพันธ์ของเซสชัน) และจำเป็นต้องยืนยันว่ามีฟังก์ชันในการกระจายการเข้าถึงจากไคลเอนต์เดียวกันไปยังโหนดเดียวกัน
3. ส่วนหัวและการประมวลผลเพิ่มเติมที่ถ่ายโอนไปยังเซิร์ฟเวอร์ส่วนหลัง (8080)
X-ส่งต่อ-Proto
รายการส่วนหัวที่ระบุคำขอเป็น https เมื่อ LB ส่งต่อไปยังเซิร์ฟเวอร์แบ็กเอนด์
X-ส่งต่อ-สำหรับ
รายการส่วนหัวที่ระบุที่อยู่ IP ของไคลเอ็นต์เมื่อ LB ส่งต่อไปยังเซิร์ฟเวอร์ส่วนหลัง
การจัดการส่วนหัวการอัพเกรด WebSocket
วิเคราะห์คำขอ HTTP และตรวจจับส่วนหัวการอัพเกรด ทริกเกอร์สวิตช์ TCP
4. การสื่อสารกับเซิร์ฟเวอร์ส่วนหลัง
การสื่อสารจากโหลดบาลานเซอร์ไปยัง CAMServer แต่ละตัวจะดำเนินการโดยใช้โปรโตคอลและพอร์ตต่อไปนี้
- โปรโตคอล: HTTP
- หมายเลขพอร์ต: 8080
- ตัวอย่างการเชื่อมต่อ: http://HOSTNAME:8080/
5. ตรวจสุขภาพ
- ตัวจัดสรรภาระงานจะขอ URL ต่อไปนี้เป็นระยะๆ และพิจารณาว่า URL นั้น "ปกติ" หากตรงตามเงื่อนไข
- URL การตรวจสุขภาพ: http://HOSTNAME:8080/CAMServer/healthcheck
- เงื่อนไขการตรวจสุขภาพ: รหัสสถานะ HTTP: 200 เนื้อหาการตอบสนอง: {“สถานะ”:200}