Diarkis サーバー

概要

Diarkis サーバー SDK は Go 言語(Golang)で開発されています。Go の強力な並列処理とネットワークスタックを最大限に活用しており、プロダクション環境において高いスケーラビリティと低レイテンシな通信を実現します。

Diarkis クラスターを構築・稼働させるためには、クラウドサービスの選定に加え、アプリケーションの要件(同時接続数、通信頻度など)に合わせたカスタマイズが必要です。

クラスターを構成するサーバータイプ

Diarkis クラスターは、主に以下の 4 種類の役割を持つサーバーで構成されます。

サーバー
説明

MARS[1]

クラスター内の全ノードの状態管理

HTTP

認証連携や接続先エンドポイント(UDP/TCP)

UDP/RUDP

UDP または Reliable UDP を使用したリアルタイム通信

TCP

TCP を使用したリアルタイム通信を処理

また、以下の図は、Diarkis の基本的なアーキテクチャ構成のシンプルな例を示しています。

Diarkis アーキテクチャ構成図の例

spinner

これらのサーバー構成は Diarkis サーバーテンプレートを利用することで簡単に始めることができます。

ユーザーの接続フロー

Diarkis と通信するための接続を確立するには、HTTP API を介して接続エンドポイントとその他の必要なデータをクラスタから取得する必要があります。

以下の図は、ユーザーが Diarkis サーバークラスターとの接続を開始する際のフローを示しています。

spinner

References

  • [1]: プロダクション環境では、MARS がダウンした場合に備え、クラスター内の他のノードがその役割を継承する自動選出(Election)アルゴリズムが組み込まれています。

最終更新

役に立ちましたか?