クラスター機能

概要

クラスター機能は、複数台の Sora でクラスターを構成して冗長化を行うための機能です。 機能の詳細やクラスターの構築方法は、以下のドキュメントを参照してください。

複数のシグナリング URL を指定する

Sora iOS SDK では、 urlCandidates に複数のシグナリング URL を指定することができます。

Sora iOS SDK は全ての URL に対して接続を試行し、最初に成功した接続をシグナリングに使用します。 このため、1台でも正常なサーバーが残っていれば Sora への接続が成功します。 クラスター機能は複数の URL を指定しなくても利用できますが、冗長性を高めるために複数 URL の指定を推奨します。

let urlCandidates = [
    URL(string: "wss://sora1.example.com/signaling")!,
    URL(string: "wss://sora2.example.com/signaling")!,
    URL(string: "wss://sora3.example.com/signaling")!
]
var config = Configuration(urlCandidates: urlCandidates,
                           channelId: channelId,
                           role: .sendrecv,
                           multistreamEnabled: true)
  • 実際にシグナリングに利用されている URL は MediaChannel クラスの connectedUrl フィールドから確認できます。

クラスター機能利用時のシグナリングのリダイレクト

クラスター機能を有効にすると、 Sora から、 type: offer の代わりに type: redirect が送られてくることがあります。 この場合、Sora iOS SDK は Sora の接続を一度切断し、 type: redirect で指定された location に再接続します。

© Copyright 2018-2022, Shiguredo Inc. Created using Sphinx 5.0.2