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

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

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

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

- [ฝัน]มีตัวเลือกการตั้งค่าเริ่มต้นขนาดเล็ก / NAS / SAN ให้เลือกใช้งาน
- สำรองข้อมูล: เหมือนกับการตั้งค่าเริ่มต้นขนาดเล็ก / NAS / SAN
- การปรับสมดุลภาระการติดตั้ง Load Balancer ไว้ด้านหน้า CAMServer จะช่วยให้เกิดความซ้ำซ้อนและการกระจายโหลดได้อย่างมีประสิทธิภาพ※ รายละเอียดข้อกำหนดการกำหนดค่า Load Balancerโปรดตรวจสอบสิ่งนี้ด้วย
- ความพร้อมใช้งานเมื่อผนวกรวมกับการกำหนดค่าพื้นที่จัดเก็บข้อมูลภายนอกแบบสำรอง การสลับการทำงานอัตโนมัติจึงเป็นไปได้ในทุกระดับ
- ค่าใช้จ่ายค่าใช้จ่ายในการติดตั้งเริ่มต้นค่อนข้างสูง
การตั้งค่าความซ้ำซ้อนและการกระจายโหลด
ภาพรวมการกำหนดค่า
เพื่อให้ CAMServer สามารถทำงานซ้ำซ้อนและกระจายภาระได้อย่างมีประสิทธิภาพ โปรดติดตั้ง CAMServer บนเซิร์ฟเวอร์แบบกระจายแต่ละเครื่องCAMServer/boot.ini เพิ่มข้อความต่อไปนี้ลงในไฟล์:
cam.clusterHosts=camserver1;camserver2
cam.clusterHostsDesc=camserver1 がメインサーバ、camserver2 は待機系サーバです。
cam.serverDatePath=\\disk\CAMServer\data
cam.disableLANNetwork=true
# ビデオサーバの分散設定。「サーバ=ノード分散参加数目安値」で定義。
cam.videoDomains=camserver1=50;camserver2=50;camserver3=50แคมคลัสเตอร์โฮสต์
แคมคลัสเตอร์โฮสต์ ชื่อโฮสต์ (FQDN) ของเซิร์ฟเวอร์แบบกระจายแต่ละตัวคือ ; รายการต่างๆ จะถูกคั่นด้วยเครื่องหมายจุลภาค
เมื่อเริ่มต้น CAMServer บนพอร์ต 443
cam.clusterHosts=camserver1;camserver2 
หากคุณต้องการแยก CAMServer ตามแผนก ให้ระบุชื่อโฮสต์ (FQDN) ไว้ที่ต้นไฟล์ ini ของ CAMServer แต่ละตัว ลำดับการระบุชื่อโฮสต์จะมีผลต่อการเลือกเซิร์ฟเวอร์เชื่อมต่อและเซิร์ฟเวอร์วิดีโอเริ่มต้นเมื่อเริ่มระบบเวอร์ชันเว็บแอป ด้วยวิธีการนี้ จึงสามารถสลับเซิร์ฟเวอร์อัตโนมัติได้ในกรณีที่เกิดความล้มเหลว
* หากไม่ได้ตั้งค่า SSO หรือการตรวจสอบสิทธิ์แบบไม่ต้องใช้รหัสผ่าน คุณจะต้องเข้าสู่ระบบอีกครั้งหลังจากเปลี่ยนวิธีการ
เมื่อเริ่มต้น CAMServer บนพอร์ต 8080
cam.clusterHosts=camserver1:8080;camserver2:8080 คุณสามารถติดตั้ง Load Balancer ระดับ L7 ไว้ด้านหน้า CAMServer และส่งต่อทราฟฟิกของ CAMServer ไปยังพอร์ต 8080 ได้ แต่การกำหนดค่าในกรณีนั้นจะเป็นไปตามที่อธิบายไว้ข้างต้น ในกรณีนี้ การ Failover จะเป็นความรับผิดชอบของ Load Balancer ดังนั้น camapp จะไม่ทำการ Failover แคม.เซิร์ฟเวอร์URLโดเมน、แคมคลัสเตอร์โฮสต์ ระบบจะเปรียบเทียบโดเมน ตรวจจับการมีอยู่หรือไม่มีอยู่ของตัวกระจายโหลด และควบคุมตามนั้น
cam.clusterHostsDesc

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

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