Về dự phòng và cân bằng tải
Với gói Ultimate của CAMServer,Rất dễ dàng trong môi trường tại chỗCó thể thực hiện dự phòng máy chủ web và máy chủ video và cân bằng tải. Điều này cho phép các dịch vụ tiếp tục ngay cả khi một máy chủ ngừng hoạt động và ngay cả khi được nhiều người dùng sử dụng, vẫn có thể phân phối xử lý và cung cấp dịch vụ mà không làm giảm hiệu suất.
cấu hình phân tán Máy chủ CAM
Tuy nhiên, giao tiếp thời gian thực là có thể. Ví dụ,CAMServer1
Một khách hàng được kết nối vớiCAMServer2
Bạn có thể trò chuyện hoặc tổ chức hội thảo trên web với một Khách hàng khác được kết nối với . Cân bằng tải máy chủ video được thực hiện dựa trên số lượng cuộc họp đang diễn ra và số lượng người dùng tham gia.
Số lượng hội nghị web đồng thời chỉ đơn giản làMáy chủ CAM
Điều này không thể đạt được bằng cách tăng số lượng nút. Cũng cần phải xem xét cấu hình mạng để tất cả các cuộc họp không chuyển tiếp qua cùng một VPN hoặc bộ định tuyến trung tâm.
Cấu hình phân phối dự phòng/tải
Bạn có thể định cấu hình môi trường tối ưu theo mức độ yêu cầu và chi phí của công ty bạn.
Cấu hình khởi đầu nhỏ
- Kho:Đặt DB/File ở phía CAMServer1 và tham chiếu nó từ CAMServer2. Ngay cả trong trường hợp này, tất cả người dùng đều có thể chia sẻ dữ liệu theo thời gian thực.
- hỗ trợ: Dữ liệu DB/File cần được sao lưu vào CAMServer2 mỗi ngày.
- phân phối tải: Có thể phân phối tải bằng cách chia CAMServer được truy cập theo bộ phận (hoặc biến nó thành hệ thống dự phòng).
- khả dụng: Khi xảy ra sự cố,Phiên bản ứng dụng web Nếu bạn dùng
cam.clusterhosts
phát hiện và chuyển đổi dự phòng tự động. Trong trường hợp ổ đĩa bị lỗihỗ trợđã được thực hiệnDữ liệu được đảm bảo tính đến ngày hôm trước. - trị giá:Cấu hình rẻ nhất. Bạn có thể bắt đầu với một cấu hình đơn vị và mở rộng quy mô theo tải.
Cấu hình bộ nhớ ngoài (NAS)
- Kho: Đặt DB/File trên NAS lưu trữ bên ngoài có độ bền cao trong cấu hình RAID và tham khảo cả CAMServer1 và CAMServer2.
- hỗ trợ: Ngay cả với cấu hình RAID, cần phải sao lưu dữ liệu DB/Tệp hàng ngày để đề phòng các lỗi nguồn điện/vỏ bọc và lỗi do con người.
- phân phối tải: Tương tự như cấu hình khởi động nhỏ.
- khả dụng: Tương tự như cấu hình khởi động nhỏ.
- trị giá: Cấu hình tương đối rẻ.
Cấu hình lưu trữ ngoài dự phòng
- Kho: Cấu hình nhấn mạnh tính sẵn sàng cao chống lại lỗi ổ đĩa bằng cách sử dụng máy chủ chia sẻ tệp dự phòng (Cụm chuyển đổi dự phòng máy chủ Windows +SAN, AWS S3, v.v.).
- hỗ trợ: Dữ liệu được sao chép tự động nên không cần sao lưu tùy theo chính sách. Tuy nhiên, nếu bạn đang xem xét lỗi do con người (chẳng hạn như xóa đĩa theo cách thủ công), bạn vẫn sẽ cần một bản sao lưu.
- phân phối tải: Tương tự như cấu hình khởi động nhỏ.
- khả dụng: Máy chủ web giống như cấu hình khởi động nhỏ. Có thể tự động chuyển đổi ngay cả trong trường hợp xảy ra lỗi do lỗi ổ đĩa hoặc khung máy.
- trị giá: Chi phí giới thiệu cao. AWS S3 có thể được xây dựng với chi phí thấp nhưng đó không phải là một lựa chọn nếu bạn tập trung vào tại chỗ.
Cấu hình cân bằng tải
- Kho: Có thể chọn cấu hình khởi động nhỏ / NAS / SAN.
- hỗ trợ: Tương tự như cấu hình khởi động nhỏ/NAS/SAN.
- phân phối tải:Bằng cách đặt Cân bằng tải trước CAMServer, có thể thực hiện dự phòng và phân bổ tải.* Load Balancer 構成の要件詳細も確認してください。
- khả dụng: Có thể tự động chuyển đổi dự phòng cho tất cả các lớp khi kết hợp với cấu hình bộ nhớ ngoài dự phòng.
- trị giá: Chi phí giới thiệu cao.
Cài đặt cân bằng tải/dự phòng
Cài đặt chung cho từng máy chủ phân tán
Để hỗ trợ dự phòng và cân bằng tải CAMServer, hãy cài đặt CAMServer trên mỗi máy chủ phân tán,CAMServer/cam.ini
Thêm mục sau vào tập tin.
cam.clusterHosts=camserver1;camserver2
cam.clusterHostsDesc=camserver1 がメインサーバ、camserver2 は待機系サーバです。
cam.serverDatePath=\\disk\CAMServer\data
cam.enabledSingleProcessingHost=camserver1
cam.clusterhosts
cam.clusterhosts
là tên máy chủ của mỗi máy chủ phân tán. ;
Liệt kê cách nhau bởi. tên máy chủ từ phía khách hàng https://tên máy chủ/
phải có thể truy cập được.
cam.clusterHosts=camserver1;camserver2
Nếu bạn muốn tách các CAMServers cho từng bộ phận, hãy ghi tên máy chủ vào đầu mỗi file ini của CAMServer. Thứ tự liệt kê bị ảnh hưởng khi chọn máy chủ kết nối ban đầu và máy chủ Video khi khởi động. CũngPhiên bản ứng dụng web Bằng cách sử dụng , kết nối chuyển đổi dự phòng có thể thực hiện được trong trường hợp xảy ra lỗi.
cam.clusterHostsDesc
cam.clusterHostsDesc
có thể thay đổi nhận xét trong trường mô tả máy chủ phân tán.
cam.serverDatePath
cam.serverDatePath
Chỉ định DB, nơi lưu các tệp đính kèm đã tải lên. Chỉ định một đĩa chia sẻ như NAS có thể được truy cập từ các máy chủ phân tán.
*Nếu không có đĩa chia sẻ thì CAMServer phụ là CAMServer chính CAMMáy chủ/cấu hình
Bộ nhớ cũng có thể được chia sẻ bằng cách chỉ định một thư mục.
cam.enabledSingleProcessingHost
cam.enabledSingleProcessingHost
Vui lòng chỉ định tên máy chủ của máy chủ đầu tiên được liệt kê trong cam.clusterHosts. Các quy trình chỉ có thể chạy trên một máy chủ duy nhất, chẳng hạn như xử lý hàng loạt, được định cấu hình để thực thi sau khi xác định xem máy chủ có được xác định trong cam.enabledSingleProcessingHost hay không.
Chỉ đặt máy chủ phụ
cam.disableLANNetwork=true
Bạn có thể tắt kết nối TCP/UDP cho mạng LAN bằng cách cài đặt . Thực hiện cài đặt này cho CAMServers phụ thứ hai và tiếp theo.
cam.disableLANNetwork=true
Load Balancer の要件詳細
Load Balancer 構成で必要となる要件詳細を記述致します。
1. SSL終端(SSL Termination)
- ロードバランサーでSSL証明書をインストールし、SSL/TLSの復号を行う。
- クライアントからの通信はHTTPSで受け付け、ロードバランサーからバックエンドにはHTTPを使用。
2. 負荷分散アルゴリズム
- ラウンドロビンでの負荷分散
- クッキー(Cookie)ベースのセッション維持(セッション・アフィニティー)が必要で、同一 Client のアクセスを同一ノードへ振り分ける機能を有しているか確認が必要。
3. バックエンドサーバー(8080)に転送するヘッダや追加処理
X-Forwarded-Proto
LBがバックエンドサーバーに転送する際に、リクエストが https である事を識別させるヘッダ項目
X-Forwarded-For
LBがバックエンドサーバーに転送する際に、クライアントのIPアドレスを識別させるヘッダ項目
WebSocketのUpgradeヘッダーの処理
HTTPリクエストを解析し、Upgrade ヘッダーを検出すると、それをトリガーにTCP切り替え
4. バックエンドサーバとの通信
ロードバランサーから各CAMServerへの通信は以下のプロトコルとポートで行う。
- プロトコル: HTTP
- ポート番号: 8080
- 接続例: http://HOSTNAME:8080/
5. ヘルスチェック(Health Check)
- ロードバランサーは次のURLを定期的にリクエストし、条件を満たす場合に「正常」と判定。
- ヘルスチェックURL: http://HOSTNAME:8080/CAMServer/healthcheck
- ヘルスチェックの条件: HTTPステータスコード: 200レスポンスボディ: {“status”:200}
6. サーバ間データ同期のため、通信許可
- リアルタイムなデータ(ユーザプレゼンス状態、メッセージ、チャットルーム等)更新はCAMServer間で同期を行うためFirewall などでサーバ間の通信許可が必要。
- サーバ間接続URLは、iniファイルの cam.clusterHosts で定義
- 例)cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080
※ camserver1 でユーザ情報が更新された場合、以下URLに接続しデータ同期を行う
http://camserver2:8080/CAMServer/syncWebSocketData
http://camserver3:8080/CAMServer/syncWebSocketData