本セッションでは、スマートフォンゲームに多く採用されるようになってきたリアルタイム通信について、サーバサイドの観点から課題を解説し、従来のソーシャルゲームで多く用いられている構成のアプリケーションに対して、どのようにしてリアルタイム通信機能を付加したかを説明します。
面白法人カヤックではリアルタイム通信基盤として、WebSocketを用いているゲームがあります。これらのプロジェクトでは独自のWebSocket通信を受け持つミドルウェアを介して、普通のWebアプリケーションサーバにリアルタイム通信機能を付け加えています。この構成を採用すると、ステートレス通信とステートフル通信の分離や、サーバアプリケーションの更新に伴う通信路の切断の克服など、様々なメリットが得られました。
リアルタイム通信部分をアプリケーションサーバから分離する構成上の工夫と、運用上のメリットについて詳しく解説します。
講演者プロフィール
谷脇 真琴
2012年から面白法人カヤックで、ソーシャルゲームのサーバサイドの開発及び運用を担当しています。
YAPC::Okinawa ONNASON 2018: https://speakerdeck.com/mackee/high-availability-performance-websocket-for-perl-real-time-application
WEB+DB PRESS Vol.102 Perl Hackers Hub: http://gihyo.jp/dev/serial/01/perl-hackers-hub/004801
《講演者からのメッセージ》
当セッションでは、WebSocketを用いたリアルタイムゲームサーバの構築を、従来のWebアーキテクチャの文脈の延長線で行った場合に埋めなければならなかった部分や、解決方法と実践についてお話していきます。
サーバアプリケーションが受け持つと面倒な部分を、分離して汎用化する知見についてお伝えしようと思います。