クラスター機能¶
概要¶
クラスター機能は、複数台の Sora でクラスターを構成して冗長化を行うための機能です。 機能の詳細やクラスターの構築方法は、以下のドキュメントを参照してください。
複数のシグナリング URL を指定する¶
Sora Android SDK では、 signalingEndpointCandidates に複数のシグナリング URL を指定することができます。
Sora Android SDK は全ての URL に対して接続を試行し、最初に成功した接続をシグナリングに使用します。 このため、1台でも正常なサーバーが残っていれば Sora への接続が成功します。 クラスター機能は複数の URL を指定しなくても利用できますが、冗長性を高めるために複数 URL の指定を推奨します。
// 接続して映像を送受信する
val mediaChannel = SoraMediaChannel(
context = this,
// signalingEndpointCandidates に複数の URL を指定する
signalingEndpointCandidates = [
"wss://sora1.example.com/signaling",
"wss://sora2.example.com/signaling",
"wss://sora3.example.com/signaling",
],
channelId = "sora",
mediaOption = option,
listener = channelListener)
mediaChannel.connect()
実際にシグナリングに利用されている URL は
SoraMediaChannel
クラスのconnectedSignalingEndpoint
プロパティから確認できます。
クラスター機能利用時のシグナリングのリダイレクト¶
クラスター機能を有効にすると、 Sora から、 type: offer の代わりに type: redirect が送られてくることがあります。 この場合、Sora Android SDK は Sora の接続を一度切断し、 type: redirect で指定された location に再接続します。
クラスター機能の詳細な仕組みについては Sora のドキュメント を参照してください。