Diarkisはサーバーの負荷に応じてオートスケールさせることが可能です。
オートスケールによってサーバーの数が減少する際には、シャットダウン対象になったサーバーに接続している
クライアントをどう処理するかが鍵になります。
Diarkisはシャットダウンプロセスに入ったサーバーの検知機能、及び検知した情報をクライアントに通知する機能を備えています。
クライアントは接続したサーバーがシャットダウンプロセスに入ったという情報を検知した際には、再接続を促すと行った処理を行うことがシンプルでありよく行われます。
しかしこの手法では、もともとルームが持っていたプロパティといった情報が失われるといった問題などを抱えています。
DiarkisのRoomモジュールは、この問題の快活策としてLive Room Migration(以後ルームマイグレーション) という機能を提供します。
ルームマイグレーションはこのような状況において、認証や再接続の必要が無い解決策を提供します。
ルームマイグレーションは、ルーム、及びルームの全てのプロパティやステートを含めて、シャットダウンプロセスに無い別のDiarkisサーバーにコピーします。
そして、シャットダウン対象として選ばれたサーバーに存在するルームにいたユーザーを新しくコピーしたルームに移動させます。
このルームマイグレーション機能によってシームレスな接続先サーバーの変更が可能となります。

C#のサンプルコード
room.OnMemberLeave += (byte[] message) =>
{
// handle when another member left the room
};
room.OnMemberJoin += (byte[] message) =>
{
// handle when another member joined the room
};
// the client must be the room owner client to execute live room migration
// starts the live room migration immidiately and raises OnMemberLeave and OnMemberJoin events
room.Migrate();