プレシオカップ

てるてる

https://github.com/yamato0211/plesio-server

Go

Kubernetes

GCP

C#

MySQL

大人数ででリアルタイムで遊ぶことが可能な2Dゲーム

やまと

おかか

てるりん

推しアイデア

web socketで同期処理を、k8sを使って負荷分散を行うことができるゲームを作成しました。

作った背景

負荷分散ゴリゴリのゲームを作りたいと思ったこと。

推し技術

-Go -CleanArchitecture -k8s -ロードバランサー -sqlx -unity

プロジェクト詳細

インフラ構成図

image

クライアント側推しポイント

  • 同期処理
  • webとの接続
  • ドット絵の雰囲気

サーバーサイド側推しポイント

  • clean architecture
  • gtihub actionsによるCI(lint, build & push)

インフラ側推しポイント

k8s

  • Deploymentによるローリングアップデート
  • CronJobを使ったログインボーナスの実装
  • argoCDによるGitOps
  • HPAによるPodの水平スケーリング

WebSocket

  • RedisのPub/Subを使用して、複数間のサーバーで接続可能に

GitOps

image

Pub/Sub

image

Gitレポジトリー

やまと

@yamato0211