12:00人気スマートフォンゲーム「モンスターストライク(以下、モンスト)」は、ゲーム内のイベントやキャンペーン開催時に、サーバーが高負荷になりやすい課題を抱えていた。年末年始においては、新年を迎える深夜0時のタイミングでアクセス数がピークを迎える。この課題を解消すべく、モンストのエンジニアリングチームは2019年元旦の高負荷に備えるための負荷対策を実施したという。白川裕介氏が、彼らの取り組んだ施策の詳細を解説した。ため、エンジニアリングチームがやれることを全部やるセッション冒頭では、モンストのアーキテクチャ構成についての説明がなされた。下図のとおりモンストでは、ユーザーからのリクエストを受け付けるロードバランサーがあり、後段にアプリケーションサーバーが配置されている。データベースはmaster・backup構成。非同期処理にはRedis+batchが用いられている。モンストのアーキテクチャ構成キャッシュ処理のためにMemcachedが多用されており、パケットをリレーするTurnサーバーによってマルチプレイが実現されている。監視システムとしては、Nagiosによるサーバー監視、Kibanaによるログ監視、CloudForecast、Grafanaによるモニタリングが行われている。稼働サーバーは約1000台もの規模というから驚きだ。自社データセンターを冗長構成にすることで、高い可用性・耐障害性を実現している。モンストのエンジニアリングチームはなぜ負荷対策を実施したのか。その理由を白川氏はこう語る。「モンストでは、コラボイベントや限定クエスト、限定アイテムの配布などのタイミングでサーバーが高負荷になります。事前にユーザーへの告知をしているため、そのタイミングで多くの方がログインされるからです。例年ですと、1年のうち、もっともアクセスが増えるタイミングは年末年始です。新年を迎えたタイミングでアクセス量のピークを迎えます。過去2年間の年末年始では、モンストのエンジニアリングチームは苦い思いを味わってきた。2016年末では、サーバー高負荷によってデータベースのスロークエリが発生してしまい、緊急メンテナンスを実施。2017年末では、緊急メンテナンスは免れたものの、アプリにつながりにくい状態が2時間程度も続いてしまった。「年末年始のタイミングで、ユーザーの方々にご迷惑をおかけしたくありません。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。