● Multi cluster 化は必須 ● クラスタ間の負荷分散を行うコンポーネントが必要 ○ コンポーネント自体の可用性も担保する ● Open Match のコンポーネント間の gRPC 負荷分散も必要 ● 各クラスタの可用性も可能な限り担保する ● 極力マネージドサービスを使って運用を楽にしたい 11 Open Match の冗長化実現したいこと
13 Pro ● マネージドサービスで楽 ● SLA 99.95% ○ ただ Open Match コンポーネント多いので多少稼働率落ちる Con ● ILB (HTTPS) と Cloud Run (Serverless NEGs) 連携は Preview ○ Cloud Run 上では gRPC の負荷分散が難しい ● Open Match の設定ファイルは Secret Manager にマウントする選択肢し かない ● 第 2 世代の実行環境じゃないと解決できない問題ある ○ 第 2 世代の実行環境はまだ Preview ○ Linux 完全互換な環境を使いたい Open Match on Cloud Run 検証結果
● Cloud Run は採用が難しいことがわかったため GKE での設計を開始 ● 冗長化へ向けていくつか解決すべき課題が存在 ○ 現実的な SLA の確認 ○ クラスタ間の LB の選定 ■ gRPC の負荷分散が必要になる ○ Open Match Director の冗長化 14 Open Match on GKE の冗長化
● 白猫ゴルフはマッチングサービス Open Match を採用 ○ OSS でメンテナンス負担軽減 ○ 複雑なコンポーネントで冗長化は課題になった ● Open Match with Cloud Run ○ 運用は楽ですがニーズに合わないところ多い ● Open Match with MCI/MCS ←採用 ○ 運用はややこしいですが高可用性である ● 将来展望 ○ 進化している Cloud Run, Gateway API などで冗長化期待 ■ Gateway API: HAProxy on GKE Autopilot も必要なくなる 17 まとめ