LINEゲームの躍進を支えるゲームプラットフォームの概要とEsper CEPの活用例:LINE Developer Conferenceまとめリポート(中編)(2/2 ページ)
2014年4月17日の「LINE Developer Conference」では、LINEゲームを支えるプラットフォームの全体像と、オープンソースのリアルタイムモニタリング技術「Esper CEP (Complex Event Processing)」の活用例が紹介された。
ゲームアプリでのモニタリングの重要性
大量のユーザーが同時接続するゲームアプリを安全かつ快適に動作させ続けるには、さまざまなモニタリングをリアルタイムに行う必要がある。LINEゲームプラットフォームでは、システム周りのモニタリングだけではなく、アプリやサービスに関連するモニタリングもリアルタイムで行っている。
まずシステムモニタリングでは、CPU、メモリ、ディスク、ロードアベレージ、ネットワーク、プロセスなどのモニタリング情報をホストごとにグラフィカルに参照できるようにしている。
サービスモニタリングは、利用者からの問い合わせはもちろん、利用者によるスコアやデータの改ざんなどの不正行為を素早く検知し、LINEやメールを使ってプラットフォーム開発メンバーやサービス運営者にリアルタイムで通知する仕組みとしている。これによって、わずかな異常も早期に見つけ出し、大きな問題になる前に、障害を取り除くことができる。
アプリモニタリングでは、アプリログや、クライアントから送られてきたクラッシュログを、ログレベル別、サービス別、ホスト別に単位時間ごとに検索できる。また、ホスト単位でそれぞれAPIが提供されるため、APIごとに接続状態と応答時間をリアルタイムに検索できるAPIヘルスチェック機能を備えている。
リアルタイムモニタリングを支える「Esper」
LINEゲームプラットフォームでは、今年刷新したシステムからオープンソースの「Esper」を導入し、本格的なリアルタイムモニタリングを実現している。
Esperは、連続/複合的なイベントをSQLに似たEPL言語を使って、リアルタイムに処理できるJavaベースの複合イベント処理エンジン。スマートフォンなどの端末やSDKから送られてくるインプットやイベントを、EPLによってフィルタリングし、その結果をデータベースやメッセージ、ダッシュボードなどへリアルタイムに出力する。イベントの形式は、Javaオブジェクト、マップ、オブジェクトアレイ、XMLをサポートする。
下図は、特定のゲームに同時接続する利用者数をEsperを使ってリアルタイムにモニタリングした結果を、時系列でグラフ化したテスト用のサンプルだ。
正常であれば、グラフの線は横方向にほぼ一直線に、上下にあまり大きくブレることもなく伸びていく。企業の昼休み時である平日お昼の時間帯や、ゲームのイベント時に開催案内をプッシュした際に、接続数が一時的に増加することもあるが、これらは事前に想定できる。しかし、図のオレンジ色や赤色の線や点で示したように、接続者数が急激に減少しているとしたら、何らかの問題が発生して接続できなくなっていることが考えられる。
下図は、上記のサンプルを例に、Esperにおける5分間のRTA(Real Time Access)イベント処理の流れとEPLの記述例を示したものだ。
ここではまず、クライアント端末から、アプリを識別するためのIDやOS、リージョン、暗号化されたユーザー情報(userHash)などをイベント(AccessEvent)としてWebサーバー経由でEsperエンジンへ送る。そして、Esperエンジン側で5分(300 sec)おきにセレクト(図右上の「EPL1」参照)し、結果をListenerに登録してRDBにアウトプットする。
ここで得られた集計結果をイベント(timedRtaEvent)として、EPLのmatch_recognise機能を使ってゲームアプリのアクセス数の情報を加え、その結果をListenerに登録してアウトプットする(図右下の「EPL2」参照)。
下図は、そのアウトプットの結果だ。
中央の赤文字の部分で、メールアプリが異常値を示し、それをEPL2に登録したSubscriberが検知して警報(Warning)を発していることが分かる。これらの一連のモニタリング処理がリアルタイムで行われている。
Esper活用の課題と可能性
堀上氏は講演の最後に、Esper活用の課題と可能性を紹介した。現在、バックエンドシステムのEsperノードでは、毎秒1万以上という膨大なイベントを処理している。従って、「今後のゲーム利用者の増大に対応するために、イベントごとにEsperノードを分けて、処理を分散させることを検討している」(堀上氏)という。
応用の可能性については、まず「複数のゲームにおいて、何らかのイベントをクリアした条件がリアルタイムでマッチングした場合にプレゼントを贈る」というようなクロスプロモーションでの活用が考えられる。
また、「ゲーム利用者によるスコア改ざんのような不正行為などをリアルタイムに監視する」といった処理にも応用できるとしている。
次回は、LINEのトップエンジニアが語る開発の裏舞台
次回は、「LINE Developer Conference」の締めくくりのイベントとして開催された公開ディスカッション「Fire Side Chat」の模様をお届けする。LINE社内で中心的な役割を担うトップエンジニアが一同に介し、苦労話や失敗談など、LINE開発の裏舞台を披露したので、お楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- LINE Developer Conferenceまとめリポート(前編):世界制覇をもくろむLINE――ベールを脱いだプラットフォームの全体像とは
LINEは4月15日と17日の両日、世界初となる「LINE Developer Conference」を開催。LINEプラットフォームの全体像を明らかにした。本稿では、その中でもLINEプラットフォームを統べるChannel Gatewayとは何か、LINEビジネスコネクトの仕組みとは、インフラをどのように高速化しているのかなどについてお届けする。 - UXClip(9):ユーザーを魅了するUIはまぐれでは生まれない (1/2)
UIとUXの意味と価値をもう一度考えよう。大ヒットアプリ、LINEのプロダクトデザイン担当者が、制作現場での具体的な開発手法を語った勉強会をレポートする - カイ士伝のアプリライフ(11):Skype、Line、Facebook、Google+、どれが好きですか?
コミュニケーションを変える新たなチャットサービス。Skype、Line、Facebook、Google+のスマホ対応機能や特色をまとめてみる - 4コマまんが「がんばれ!アドミンくん」:第351話 LINE
いまやビジネスでも活用が広がりつつある無料通話スマホアプリLINE。世代の断絶を乗り越えて普及できるのか? - コマまんが「がんばれ!アドミンくん」:第354話 LINE(2)
部長、正しい発音覚えてくれました? 恥ずかしいから、客先で世間話するときなんかに間違えないでくださいよね! - 流出データはスタッフ立ち会いの下で削除:LINE、NAVERアカウントへの不正アクセスの攻撃者を特定、「日本国外の人物」
LINEは、7月19日に公表した「NAVERアカウント」に対する不正アクセスを行った日本国外の人物を特定し、同社スタッフ立会いの下でデータを削除したと発表した。