サーバ自動伸縮時のマルチプレーヤー・ルーム・サーバのルーム・マイグレーション
Diarkis サーバのオートスケールはサーバのスケール・アウト(拡張)とイン(縮小)両方の側面があります。そこで重要なのは特に自動縮小の際に接続しているクライアントに影響無くハンドリングすることが重要です。
Diarkis クライアントは接続しているサーバが縮小のためにシャットダウン準備に入る際に「OnOffline」というイベントが発生します。クライアントはこのイベントを処理することでサーバの自動縮小に対しての対応が可能です。
この際に「Room Migration」を使うことで、自動伸縮の際にルームのプロパティ含めメンバーを維持したままで別のサーバにマイグレーションしサーバの自動伸縮があってもルームを完全に維持してサービスを継続するこが可能です。
NOTE: マイグレーションによってルームのオーナーが変わることは ありません が、マイグレーション後にオーナーがルームに再参加できなかった場合は他のメンバーが自動オーナーに選出されます。
IMPORTANT: ルームマイグレーションで移動した先のルーム ID は 移動する前のルーム ID と 異なります。
C# Client Code Example:
コードのサンプルはサーバからのシグナルで発生する OnOfline のイベントを受けてルームマイグレーションを実行する例です。
サーバでルームマイグレーションを検知する
ルームモジュールでは、ルームマイグレーションが実行された際に検知してコールバックを使って任意の処理を実行することが可能です。
Server Code Example:
最終更新