仮想化によるサーバー統合の拡大や、多くのアプリケーションが複雑に連携するシステム形態、といった要因によって、システム性能の確保が難しくなってきた。I/O処理やシステム間連携、さらにはWANを介したアクセス遅延などがシステム性能のボトルネックとなるケースが増えている。

 そこで日経BPイノベーションICT研究所は、システム性能のボトルネックを突き止め、これを回避するためのノウハウやソリューション(問題解決型の製品サービス)を紹介するセミナー『システム高速化Forum 2014~「速さ」がビジネスを牽引する~』を、2014年11月25日に東京で開催した。

 基調講演では、システムの高速化を達成したユーザー事例としてリクルートテクノロジーズが登壇。エンジニアの視点でノウハウを解説した。ソリューション講演では、リバーベッドテクノロジー、SCSK、バーチャルコミュニケーションズの3社がそれぞれの製品サービスを紹介した。続く特別講演では、システム設計会社のゼンアーキテクツがシステム設計技術の心得をまとめた。

基調講演:リクルートテクノロジーズ
機能連携やI/O処理を非同期で高速化、1万4000件/秒を配信

 基調講演では、リクルートの各事業に対してIT基盤を提供しているリクルートテクノロジーズの宮川典久氏が登壇。システム高速化事例の一つとして、クーポン雑誌『Hot Pepper』などのアプリケーション向けに提供しているプッシュ通知機能を取り上げ、高速化を達成した具体的な手法を解説した。

 講演では、システム高速化事例として、スマートデバイス(iOS/Android)の待ち受け画面にメッセージを通知する“プッシュ通知”を高速化した手法について解説した。iOSのAPNS(Apple Push Notification Service)やAndroidのGCM(Google Cloud Messaging)など、スマートデバイスが標準で備えているプッシュ通知のインフラに対して、短時間に大量のメッセージを送れるようにした。実績ベースで、1000万件のメッセージを12分で配信したという。

リクルートテクノロジーズ APソリューショングループグループマネージャー<br> 宮川 典久氏
リクルートテクノロジーズ APソリューショングループグループマネージャー
宮川 典久氏

 前提となるプッシュ通知とは、リクルートの各事業が活用している、新しい情報発信メディアである。同社は、メールマガジンに代わるメディアとして位置づけている。そのメリットは、開封率が高いことや、リアルタイムに情報を配信できること。一方でデメリットは、システム実装の工数がかかること。このデメリットを克服するため、Pasnaと呼ぶプッシュ通知基盤システムをRuby on Railsで構築し、これまで展開してきた。

 システム設計から見たプッシュ通知の特徴は、利用するアプリケーションごとにターゲットとなる時間帯が決まること。例えば、ニュース系のアプリケーションであれば通勤時間帯に配信し、食事を案内するアプリケーションなら昼休みの一時間の間に配信する、といった具合である。

 その一方で、従来のPasnaは、配信対象となるスマートデバイスの台数の増加に対して性能をスケールさせることが難しかった。デバイスの台数が増えると、デバイス上でアプリケーションを立ち上げた際のデバイス登録負荷が高くなり、処理能力が追いつかなくなってしまう。

 仕方なく、配信時間内にすべての配信先に配信できない場合は、分割して数日間かけて送るようにしていた。こうした問題を解消するため、2012年末に同社はプッシュ通知基盤システムの再構築を決めた。新システムの名称は「PasnaRS」。開発期間は2013年9月から12月の4カ月間である。

デバイス登録とプッシュ通知を高速化

 新プッシュ通知基板システムPasnaRSは、IssS/PaaS基盤のクラウドサービスであるAWS(Amazon Web Services)を使って構築した。アプリケーションはサーバーサイドJavaScriptの一つであるNode.jsで開発した。データの登録/抽出先となるデータベースには、分散KVSのAmazon DynamoDBと検索エンジンのElasticsearchを利用した。

 PasnaRSは主に、デバイス登録機能とプッシュ通知機能の二つの機能から成っている。

 デバイス登録機能とは、デバイス上でプッシュ通知対応のアプリケーションを起動するたびに、デバイスをシステムに登録してデータを永続化するプロセスである。一方のプッシュ通知機能とは、登録/永続化されているデバイス情報から配信条件に合致するデバイス情報を抽出し、iOSのAPNSやAndroidのGCNにメッセージの配信要求を出すプロセスである。

 高速化にあたっては、各機能の高速化、I/Oの高速化、運用の高速化、の三つがキモだったという。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。

この記事に関連する資料