मेन्यू

CAMServer अतिरेक/लोड संतुलन

विषयसूची

अतिरेक और भार संतुलन के बारे में

CAMServer की अंतिम योजना के साथ,ऑन-प्रिमाइसेस वातावरण में बहुत आसान हैवेब सर्वर और वीडियो सर्वर अतिरेक और लोड संतुलन किया जा सकता है। यह एक सर्वर के डाउन होने पर भी सेवाओं को जारी रखने की अनुमति देता है, और बड़ी संख्या में उपयोगकर्ताओं द्वारा उपयोग किए जाने पर भी, प्रदर्शन को खराब किए बिना प्रसंस्करण वितरित करना और सेवाएं प्रदान करना संभव है।

वितरित विन्यास CAMServer हालाँकि, वास्तविक समय संचार संभव है। उदाहरण के लिए,CAMServer1 एक ग्राहक से जुड़ा हैCAMServer2 आप इससे जुड़े किसी अन्य क्लाइंट के साथ चैट कर सकते हैं या वेब कॉन्फ्रेंस कर सकते हैं। वीडियो सर्वर लोड संतुलन सक्रिय मीटिंगों की संख्या और भाग लेने वाले उपयोगकर्ताओं की संख्या के आधार पर किया जाता है।

एक साथ वेब सम्मेलनों की संख्या बस हैCAMServerइसे केवल नोड्स की संख्या बढ़ाकर हासिल नहीं किया जा सकता। नेटवर्क कॉन्फ़िगरेशन पर विचार करना भी आवश्यक है ताकि सभी मीटिंग एक ही वीपीएन या सेंटर राउटर के माध्यम से रिले न हों।

अतिरेक/लोड वितरण विन्यास

आप अपनी कंपनी के अनुरोध स्तर और लागत के अनुसार इष्टतम वातावरण को कॉन्फ़िगर कर सकते हैं।

छोटा आरंभ विन्यास

  • भंडारण:DB/फ़ाइल को CAMServer1 की ओर रखें और इसे CAMServer2 से भी संदर्भित करें। इस स्थिति में भी, सभी उपयोगकर्ता वास्तविक समय में डेटा साझा कर सकते हैं।
  • बैकअप: DB/फ़ाइल डेटा को हर दिन CAMServer2 पर बैकअप करने की आवश्यकता है।
  • लोड वितरण: एक्सेस किए गए CAMServer को विभाग द्वारा विभाजित करके (या इसे स्टैंडबाय सिस्टम बनाकर) लोड वितरण संभव है।
  • उपलब्धता: जब कोई विफलता होती है,वेब ऐप संस्करण यदि तुम प्रयोग करते हो कैम.क्लस्टरहोस्ट्सपता लगाना और स्वचालित विफलता। डिस्क विफलता के मामले मेंबैकअपकिया गयापिछले दिन तक का गारंटीकृत डेटा।
  • लागत:सबसे सस्ता विन्यास. आप एकल इकाई कॉन्फ़िगरेशन से शुरुआत कर सकते हैं और लोड के अनुसार इसे बढ़ा सकते हैं।

बाह्य संग्रहण (NAS) कॉन्फ़िगरेशन

  • भंडारण: DB/फ़ाइल को RAID कॉन्फ़िगरेशन में अत्यधिक टिकाऊ बाहरी स्टोरेज NAS पर रखें और CAMServer1 और CAMServer2 दोनों को देखें।
  • बैकअप: RAID कॉन्फ़िगरेशन के साथ भी, बिजली आपूर्ति/केसिंग विफलताओं और मानवीय विफलताओं को ध्यान में रखते हुए हर दिन DB/फ़ाइल डेटा का बैकअप लेना आवश्यक है।
  • लोड वितरण: छोटे प्रारंभ कॉन्फ़िगरेशन के समान।
  • उपलब्धता: छोटे प्रारंभ कॉन्फ़िगरेशन के समान।
  • लागत: अपेक्षाकृत सस्ता विन्यास।

निरर्थक बाह्य भंडारण विन्यास

  1. भंडारण: एक कॉन्फ़िगरेशन जो अनावश्यक फ़ाइल साझाकरण सर्वर (विंडोज सर्वर फेलओवर क्लस्टरिंग +SAN, AWS S3, आदि) का उपयोग करके डिस्क विफलताओं के खिलाफ उच्च उपलब्धता पर जोर देता है।
  2. बैकअप: डेटा स्वचालित रूप से दोहराया जाता है, इसलिए नीति के आधार पर बैकअप की आवश्यकता नहीं होती है। हालाँकि, यदि आप मानवीय विफलता पर विचार कर रहे हैं (जैसे कि डिस्क को मैन्युअल रूप से मिटाना), तो भी आपको बैकअप की आवश्यकता होगी।
  3. लोड वितरण: छोटे प्रारंभ कॉन्फ़िगरेशन के समान।
  4. उपलब्धता:वेब सर्वर छोटे स्टार्ट कॉन्फ़िगरेशन के समान है। डिस्क या हाउसिंग विफलता के कारण विफलता की स्थिति में भी स्वचालित स्विचिंग संभव है।
  5. लागत:परिचय लागत अधिक है. AWS S3 को कम लागत पर बनाया जा सकता है, लेकिन यदि आपका ध्यान परिसर पर है तो यह एक विकल्प नहीं है।

लोड बैलेंसर कॉन्फ़िगरेशन

  • भंडारण: छोटे प्रारंभ कॉन्फ़िगरेशन / NAS / SAN का चयन किया जा सकता है।
  • बैकअप: छोटे प्रारंभ कॉन्फ़िगरेशन / NAS / SAN के समान।
  • लोड वितरण:CAMServer के सामने लोड बैलेंसर रखने से अतिरेक और लोड वितरण संभव है।* Load Balancer 構成の要件詳細も確認してください。
  • उपलब्धता: अनावश्यक बाहरी भंडारण कॉन्फ़िगरेशन के साथ संयुक्त होने पर सभी परतों के लिए स्वचालित विफलता संभव है।
  • लागत:परिचय लागत अधिक है.

अतिरेक/लोड संतुलन सेटिंग्स

प्रत्येक वितरित सर्वर के लिए सामान्य सेटिंग्स

CAMServer अतिरेक और लोड संतुलन का समर्थन करने के लिए, प्रत्येक वितरित सर्वर पर CAMServer स्थापित करें,CAMServer/cam.ini फ़ाइल में निम्न प्रविष्टि जोड़ें.

cam.clusterHosts=camserver1;camserver2
cam.clusterHostsDesc=camserver1 がメインサーバ、camserver2 は待機系サーバです。
cam.serverDatePath=\\disk\CAMServer\data
cam.enabledSingleProcessingHost=camserver1

कैम.क्लस्टरहोस्ट्स

कैम.क्लस्टरहोस्ट्स प्रत्येक वितरित सर्वर का होस्ट नाम है। ; द्वारा अलग किये गये गिनें। क्लाइंट की ओर से होस्टनाम https://hostname/ पहुंच योग्य होना चाहिए.

cam.clusterHosts=camserver1;camserver2 

यदि आप प्रत्येक विभाग के लिए CAMServers को अलग करना चाहते हैं, तो प्रत्येक CAMServer की ini फ़ाइल की शुरुआत में होस्ट नाम लिखें। स्टार्टअप पर प्रारंभिक कनेक्शन सर्वर और वीडियो सर्वर का चयन करते समय गणना क्रम प्रभावित होता है। भीवेब ऐप संस्करण का उपयोग करके विफलता की स्थिति में फेलओवर कनेक्शन संभव है।

cam.clusterHostsDesc

cam.clusterHostsDesc वितरित सर्वर विवरण फ़ील्ड में टिप्पणी बदल सकते हैं।

कैम.सर्वरडेटपाथ

कैम.सर्वरडेटपाथ डीबी को निर्दिष्ट करता है, जहां अपलोड किए गए अनुलग्नकों को सहेजना है। एक साझा डिस्क निर्दिष्ट करें जैसे NAS जिसे वितरित सर्वर से एक्सेस किया जा सकता है।
*यदि कोई साझा डिस्क नहीं है, तो उप CAMServer मुख्य CAMServer है CAMServer/config स्टोरेज को एक फोल्डर निर्दिष्ट करके भी साझा किया जा सकता है।

कैम.सक्षमसिंगलप्रोसेसिंगहोस्ट

कैम.सक्षमसिंगलप्रोसेसिंगहोस्ट कृपया cam.clusterHosts में सूचीबद्ध पहले सर्वर का होस्ट नाम निर्दिष्ट करें। ऐसी प्रक्रियाएँ जिन्हें केवल एक ही होस्ट पर चलाया जा सकता है, जैसे कि बैच प्रोसेसिंग, यह निर्धारित करने के बाद निष्पादित करने के लिए कॉन्फ़िगर की जाती है कि होस्ट को cam.enabledSingleProcessingHost में परिभाषित किया गया है या नहीं।

केवल सब सर्वर सेट करें

cam.disableLANNetwork=सत्य आप सेटिंग करके LAN के लिए TCP/UDP कनेक्शन अक्षम कर सकते हैं। इस सेटिंग को दूसरे और बाद के उप CAMServers के लिए निष्पादित करें।

cam.disableLANNetwork=true

Load Balancer の要件詳細

Load Balancer 構成で必要となる要件詳細を記述致します。

1. SSL終端(SSL Termination)

  1. ロードバランサーでSSL証明書をインストールし、SSL/TLSの復号を行う。
  2. クライアントからの通信はHTTPSで受け付け、ロードバランサーからバックエンドにはHTTPを使用。

2. 負荷分散アルゴリズム

  1. ラウンドロビンでの負荷分散
  2. クッキー(Cookie)ベースのセッション維持(セッション・アフィニティー)が必要で、同一 Client のアクセスを同一ノードへ振り分ける機能を有しているか確認が必要。

3. バックエンドサーバー(8080)に転送するヘッダや追加処理

X-Forwarded-Proto
LBがバックエンドサーバーに転送する際に、リクエストが https である事を識別させるヘッダ項目

X-Forwarded-For
LBがバックエンドサーバーに転送する際に、クライアントのIPアドレスを識別させるヘッダ項目

WebSocketのUpgradeヘッダーの処理
HTTPリクエストを解析し、Upgrade ヘッダーを検出すると、それをトリガーにTCP切り替え

昨今のロードバランサー(AWS/GCP/Azure)はデフォルトで設定されている標準的な内容

4. バックエンドサーバとの通信

ロードバランサーから各CAMServerへの通信は以下のプロトコルとポートで行う。

  • プロトコル: HTTP
  • ポート番号: 8080
  • 接続例: http://HOSTNAME:8080/

5. ヘルスチェック(Health Check)

  1. ロードバランサーは次のURLを定期的にリクエストし、条件を満たす場合に「正常」と判定。
  2. ヘルスチェックURL: http://HOSTNAME:8080/CAMServer/healthcheck
  3. ヘルスチェックの条件: HTTPステータスコード: 200レスポンスボディ: {“status”:200}

6. サーバ間データ同期のため、通信許可

  1. リアルタイムなデータ(ユーザプレゼンス状態、メッセージ、チャットルーム等)更新はCAMServer間で同期を行うためFirewall などでサーバ間の通信許可が必要。
  2. サーバ間接続URLは、iniファイルの cam.clusterHosts で定義
    • 例)cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080

※ camserver1 でユーザ情報が更新された場合、以下URLに接続しデータ同期を行う
http://camserver2:8080/CAMServer/syncWebSocketData
http://camserver3:8080/CAMServer/syncWebSocketData

  • URLをコピーしました!
विषयसूची