Genvid クラスタサーバー¶
監視サーバー¶
監視サーバーは通常マイクロサーバーのクラスタで、Genvidのすべてのサービスの登録窓口、権限の管理者として動作します。1 台のサーバーでクラスタ全体を十分に動作させられますが、利便性向上のため、3 台以上のサーバーを推奨します。これらのサーバーは過半数ベースのゴシッププロトコルを使用することでオーケストレーションサービス間の状態を常に同期し、監視サーバーの半数までがクラッシュしたとしてもサービスに影響を与えません。
サーバーで実行する主要タスクは:
- 設定用 High-Available Key-Value ストア
- トークン、パスワード、証明書、API key などのシークレットを厳重に制御する 安全な Key-Value ストア (Vault の使用 を参照)
- DNS および HTTP API による 登録サービス
- さまざまなワーカーインスタンスのヘルスの 監視とレポートのサービス
- さまざまなサービスをスケーリングし、ダウン時に再起動する スケジューラ サービス
処理するサービスの重要性のため、監視サーバーでは、他のタスクを実行しないことをお勧めします。監視サーバーは、インターナルワーカーサーバーにタスクを担当させるべきです。
パブリック、エンコード、インターナルワーカー¶
ワーカーサーバーは監視サーバーによってスケジュールされたタスクを実行、監視します。オーケストレーションサービスのクライアントバージョンを実行し、監視サーバーに通知します。
- パブリックワーカー は、外部ストリーミングクライアントに関連するサービスを処理します。高い負荷に対応するため、一般的にインターナルワーカーのインスタンスよりもパブリックワーカーのインスタンスを多く実行する必要があります。パブリックワーカーは、パブリック向けのオープンポートを持つ、唯一のサーバーです。
- エンコーディングワーカー は、ストリームのコンポジションとエンコードの処理を行います。エンコードするストリーム数が把握できるため、最も負荷が安定しています。
- インターナルワーカー はゲーム関連のサービスと、 メッセージ バス の処理を行い、他の信頼できるサーバーにのみ接続します。負荷は、ストリーミングを行うクライアント数とパブリックワーカーからの負荷によって変化します。