OWT サーバー全体のアーキテクチャ分析
目次
関連記事:
1. OWT サーバーのアーキテクチャ
- OWT サーバーはモジュール アーキテクチャの原則に従っており、下図に示すように、コンポーネントの機能に応じて 5 つのブロックに分割できます。
1. シグナリング コンポーネント
- シグナリング コンポーネントは、クライアントとの対話のシグナリングを担当します。
- WebRTC ポータルは、WebRTC クライアントとのやり取りのシグナリングを担当します。
- SIP ポータルは、SIP クライアントとの対話のシグナリングを担当します。
2. メディア ドッキング コンポーネント
- メディア ドッキング コンポーネントは、メディア データをシステムに接続し、メディア データを他のシステムにエクスポートします。
- WebRTC エージェントは、WebRTC クライアントとのメディア データ送信を担当します。
- SIP エージェントは、SIP クライアントとのメディア データの送信を担当します。
- Streaming Agent は、RTSP/RTMP/HLS/Dash ストリームの入出力を担当します。
- Recording Agent は、サーバー側の記録を担当します。
3. メディア処理コンポーネント
- メディア処理コンポーネントは、オーディオおよびビデオ データのトランスコーディング、マージ、および分析を担当します。
- Audio Agent は、オーディオのトランスコーディングとミキシングを担当します。
- ビデオ エージェントは、ビデオのトランスコーディングと合成を担当します。
- 分析エージェントは、いくつかのサーバー側のオーディオおよびビデオ ストリーム分析機能を提供し、分析および処理用のカスタム プラグインをサポートします。
4. コール制御コンポーネント
- 呼制御コンポーネントは、会議室への参加、オーディオおよびビデオ ストリームの公開、オーディオおよびビデオ ストリームへのサブスクライブなど、会議室とユーザの制御と管理を担当します。これらはすべて Conference Agent によって処理されます。
5. サポート コンポーネント
- サポート コンポーネントは次のとおりです。
- OWT サーバーは、単一のマシンで実行されている場合でもクラスターの形式で管理され、クラスター マネージャーは単純なクラスター マネージャーです。
- ルームの作成、ユーザー情報の取得、ストリーム情報の取得などの機能は RESTful API の形で提供されるインターフェースであり、これらのインターフェースは Management API によって提供されます。
- 管理コンソールは、Web サービスを提供する管理コンソールです。
- OWT サーバーが保持する必要があるデータは MongoDB に保存され、さまざまなコンポーネント間の通信は、RabbitMQ に基づく RPC 呼び出しを使用して実現されます。
- 上記のコンポーネントは、デプロイ時には独立したプロセスです。実際、各コンポーネントは、デプロイ時には独立したディレクトリです。これらはすべて、同じサーバーまたは異なるサーバーで実行できます。
- このようなモジュール化された強力に分離されたアーキテクチャにより、エラーの分離が保証されます. 1 つのコンポーネントで生成された例外は、他のコンポーネントに感染しません. さらに、各コンポーネントは、実行時に個別にアップグレードおよび交換できます.