Recommended
PDF
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
PDF
PDF
大規模スクラムの失敗から学んだこと #AgileJapan2015
PDF
Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出
PDF
PDF
PDF
PPTX
PDF
しょぼいプレゼンをパワポのせいにするな! by @jessedee
PDF
PDF
Basic of Basics of Agile Development Returns
PPTX
PPTX
PDF
PDF
PPTX
PDF
PDF
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
PDF
PDF
PPTX
PPTX
PPTX
BuildKitによる高速でセキュアなイメージビルド
PDF
PDF
Test Yourself - テストを書くと何がどう変わるか
PDF
PPT
PDF
大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumic
PDF
[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...
PDF
More Related Content
PDF
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
PDF
PDF
大規模スクラムの失敗から学んだこと #AgileJapan2015
PDF
Relational Binarized HOG特徴量とReal AdaBoostによるバイナリ選択を用いた物体検出
PDF
PDF
PDF
PPTX
What's hot
PDF
しょぼいプレゼンをパワポのせいにするな! by @jessedee
PDF
PDF
Basic of Basics of Agile Development Returns
PPTX
PPTX
PDF
PDF
PPTX
PDF
PDF
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
PDF
PDF
PPTX
PPTX
PPTX
BuildKitによる高速でセキュアなイメージビルド
PDF
PDF
Test Yourself - テストを書くと何がどう変わるか
PDF
PPT
PDF
大規模レガシー環境に立ち向かう有機的な開発フォーメーション #devsumi #devsumic
Viewers also liked
PDF
[Developers Summit 2015 講演資料] リクルートテクノロジーズ 14,000件/秒の配信を実現した リクルートのモバイルアプリを支え...
PDF
PDF
PDF
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
PDF
PDF
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
PDF
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
PDF
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
PDF
[AWSマイスターシリーズ] Amazon SQS / SNS
PPTX
CloudWatch(+sns+sqs)で障害対応を自動化してみた
PDF
2013 デブサミ 「SIの未来ってどうなのよ?」
PDF
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
PDF
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
PDF
20130410 jaws ug sapporo spot instance利用のすゝめ
PDF
PDF
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1
Similar to システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ
PDF
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
PDF
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
PPTX
Elasticsearch+nodejs+dynamodbで作る全社システム基盤
PPTX
PPTX
PPTX
PPTX
PDF
PDF
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
PDF
リクルートグループのネットサービスを支えるItインフラ戦略
PPTX
PPTX
[関東Firefox OS 勉強会10th 講演資料] リクルートにおけるFirefox osアプリへの取り組み
PDF
大企業の経営改革とベンチャーの活性化で日本を再び元気に
PDF
「IoT時代のデータのあり方と活用の方向性」名古屋大学エネルギーシステムシンポジウム 170222
PDF
20180306 AWS Black Belt Online Seminar 働き方改革を実現するAWSのエンドユーザーコンピューティングサービス
PDF
ビジネス・イノベーションを支えるテクノロジ活用への挑戦
PDF
【HinemosWorld2014】A2-2_どこまでいくの!?ホロンテクノロジーのRedmine Solution~RedmineでRed‘s GO!~
PDF
39 works:ドコモにおける オープンイノベーションプログラムの紹介
PDF
PDF
More from Recruit Technologies
PDF
PDF
PDF
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
PDF
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
PDF
PDF
PDF
PDF
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
PDF
PDF
「リクルートデータセット」 ~公開までの道のりとこれから~
PDF
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
PDF
ユーザーからみたre:Inventのこれまでと今後
PDF
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
PDF
EMRでスポットインスタンスの自動入札ツールを作成する
PDF
PDF
PDF
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
PDF
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
PDF
PDF
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
システム高速化フォーラム向け プッシュ通知基盤のアーキテクチャ 1. 2. 3. 3(C) Recruit Technologies Co.,Ltd. All rights reserved.
アジェンダ
1. はじめに
2. PUSH通知に対する取り組み
3. 高速化のためのアーキテクチャ
• 全体構成
• 機能間の非同期化
• DynamoDBによるI/Oの高速化
• ノンブロッキングI/Oの活用
• elasticsearchによる条件指定配信
• その他高速化の取り組み
4. まとめ
4. 5. 6. 7. 8. リクルートテクノロジーズの役割
8(C) Recruit Technologies Co.,Ltd. All rights reserved.
広範囲のビジネスに装
着し、効果を最大化さ
せるための改善を行い、
事業貢献利益を追究
Rグループのビジネスに
短・中期的に実活用の可能
性がある技術をリサーチ
対象技術における事業化
への検証を行い、評価・選
定する
開拓(実活用研究)
実際に事業へ適用
し、より広範囲に
利用するための型
化やスキームを構
築
実装・展開 運用
実施内容
リクルートテクノロジーズ(短・中期的視野)
利益を目的としない中長期的な
視点に立ち、新技術や新手法の
研究/発明を行い、論文発表す
ることを目指す
要素基礎技術の研究
社外(中・長期的視野)
技術数の
推移イメージ
年間約200の技術をリサーチし、
約30の技術を評価・選定
年間数個〜10個の
技術を展開
運用フェーズまで
移行された技術が蓄積
無数の新技術を研究/発明
9. ASGとは
9(C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルート共通インフラ
アプリケーション基盤
各サイト 各サイト 各サイト 各サイト
NETWORKOSH/W
M/W framework 共通コンポーネント
開発・運用
アーキテクト支援
先端技術の適用
10. 11. 12. 13. PUSH通知の効果
13(C) Recruit Technologies Co.,Ltd. All rights reserved.
メリット
• 休眠ユーザの再起
• ユーザのアクティブ率向上
• リアルタイムな情報配信
デメリット
• 実装の工数がかかる
• 過剰なプッシュによるユーザ離れの
リスク
ここに対する取り組みとして2011年に
PUSH通知基盤を開発
プッシュ通知は開封率が高いため、メルマガに変わる販促ツールとして注目され
ている
14. 15. Pusnaの課題
15(C) Recruit Technologies Co.,Ltd. All rights reserved.
0
5000000
10000000
15000000
20000000
25000000
20120209 20120807 20130203 20130802
2012/12
ペースUP
100
120
140
160
180
200
220
2011年 2012年 2013年 2014年10月
アプリ数の遷移
Androidアプリ iOSアプリ
デバイス登録数の遷移
アプリ数の増加に伴いプッシュ数も急増。
プッシュ通知の重要性上昇に伴い、求められるSLAも高まる。
16. 17. Pusnaの課題
17(C) Recruit Technologies Co.,Ltd. All rights reserved.
アプリの特性に応じてターゲットとなる時間内に送りきれないと効果が激減する
6時 9時 12時 15時 18時 21時 24時
通勤時間 昼休み 帰宅後帰宅直前
情報発信 購買行動の催促仕事後の行動催促
時間内に遅れない場合日を分割する送る運用対処を実施
1000万件のPUSHに一週間かかる状況
18. 19. 課題に対する打ち手
19(C) Recruit Technologies Co.,Ltd. All rights reserved.
課題・要望
• アクティブ率向上への施策
• 求められる高いSLA
• デバイス数の急増
• リアルタイムな情報配信
打ち手
AWSの有効活用
アーキテクチャの抜本的変更
ビックデータ基盤との連携
• 休眠ユーザの再起
PusnaRSとして再構築することを決断
現
行
課
題
新
た
な
要
望
20. 21. 開発概要
21(C) Recruit Technologies Co.,Ltd. All rights reserved.
開発期間
• 2013年9月~2013年12月
サービス開始
• 2013年12月末
開発体制
• APソリューショングループ:5人
• スマートデバイスグループ:3名
PusnaRS
インフラ
• AWS
開発言語
• Node.js v0.8.26
フレームワーク
• express
DB
• DynamoDB
検索エンジン
• elasticsearch
システム構成開発体制
22. 23. 全体構成
23(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
24. 全体構成~デバイス登録
24(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
スマホアプリ内の
PusnaRS用SDK経由で
登録APIにデバイス情報を送信
事業サーバ 配信担当者
25. 全体構成~デバイス登録
25(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
デバイス情報をDynamoDBと
Elasticsearchに登録
事業サーバ 配信担当者
26. 全体構成~配信
26(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
SQS
登録worker
システム管理・操作用
Web UI
管理API
配信者又は事業サーバから
PUSH配信をリクエスト
事業サーバ 配信担当者
27. 全体構成~配信
27(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
SQS
登録worker
システム管理・操作用
Web UI
管理API
配信要求を元に対象デバイ
スを抽出
事業サーバ 配信担当者
配信タイプに応じて
DynamoDB又は
elasticsearchから
デバイス情報を抽出
28. 全体構成~配信
28(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
Elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
SQS
登録worker
システム管理・操作用
Web UI
管理API
抽出したデバイス情報を
APNs又はGCMへ送信
事業サーバ 配信担当者
29. Pusna高速化のポイント
29(C) Recruit Technologies Co.,Ltd. All rights reserved.
シ
ス
テ
ム
面
運
用
面
範囲
• I/Oの高速化
• 各機能の高速化
• 運用の最適化
ポイント
• elasticsearchによる条件指定配信
- 配信条件の指定を実現することにより、配信作業
を高速化
• 無停止リリース
- システム停止無しでのリリースによりエンハンス
を高速化
• 機能間の非同期化
- SQSを活用して非同期化し、各処理を単純化
• DynamoDBによるI/Oの高速化
- DynamoDBを活用することでI/Oのスピードを高
速化
• ノンブロッキングI/Oの活用
- ノンブロッキングI/Oの活用によりI/Oの活用効率
を最適化
30. 31. 機能間の非同期化
31(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
32. 33. 機能間の非同期化
33(C) Recruit Technologies Co.,Ltd. All rights reserved.
登録APIの性能登録API
デバイス登録
リクエストの受付
パラメーターチェック
キューへの登録
登録Worker
キューからの受け取り
永続化
キューからの削除
m1.small:60request per second
CPU使用率
Latency
34. 35. 36. 37. 38. 39. 40. 41. DynamoDBの活用
41(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
elasticsearch
クラスタ
デバイス登録
リクエスト
APNs/GCM
サーバ
登録API
データ登録
配信worker
SQS
SQS
登録worker
システム管理・操作用
Web UI
管理API
データ参照
事業サーバ 配信担当者
42. DynamoDBとは
42(C) Recruit Technologies Co.,Ltd. All rights reserved.
• Amazon DynamoDBはAWSにて提供される分散KVS。
• 複数のAZ(データセンター)にわたってレプリケーションされ
ることで高い信頼性が保証されている。
• SSDで動作しておりデータ量の変化に関係なく高速に動作する。
• スキーマレスにデータを扱える。
43. 44. DynamoDBのメリット~全件抽出の性能
44(C) Recruit Technologies Co.,Ltd. All rights reserved.
DeviceInfo
Hotpepper
TokenToDevice
Hotpepper
DeviceInfo
jalan
TokenToDevice
jalan
・・・
・・・
DynamoDB
Elasticsearch登録Worker
device/
hotpepper
device/
jalan ・・・
配信Worker
単件
全件
検索
アプリごとの全件配信速度の向上が最大の狙い
45. DynamoDBのメリット~全件抽出の性能
45(C) Recruit Technologies Co.,Ltd. All rights reserved.
セグメント1
セグメント2
セグメント3
セグメント4
配信Worker
DynamoDBはデータを物理ストレージにパーティションにデータを保存してい
る。
並列スキャンにて各セグメントを平行して抽出し、性能を向上が可能。
DeviceInfo
並列スキャン
DeviceInfo
DeviceInfo
DeviceInfo
46. DynamoDBのメリット~全件抽出の性能
46(C) Recruit Technologies Co.,Ltd. All rights reserved.
並列数 件/秒 性能比
1 19830.2 1
5 42642.1 2.1
10 43996.6 2.2
リードスループット
• 1,000
1件あたりのデータサイズ
• 200バイト
総データ数
• 100万件
負荷掛け環境
• c1.medum
• node.jsで作ったデモアプリで検証
条件
並列スキャンの性能測定
結果
並列スキャンを行うことで倍以上の性能を
出すことが出来る。
ただし、並列数を上げれば性能が上がるわ
けでもないので、チューニングが必要。
47. 48. DynamoDBのメリット~スループットの管理
48(C) Recruit Technologies Co.,Ltd. All rights reserved.
DeviceInfo
Hotpepper
Read: 200
Write: 100
TokenToDevice
Hotpepper
Read: 300
Write: 100
DeviceInfo
appA
Read: 3
Write: 1
TokenToDevice
appA
Read: 3
Write: 1
DynamoDB
アプリのデバイス数に応じてスループット設定を最適化。
・・・
・・・
Hotpepper appA
49. 50. 51. 52. 53. ノンブロッキングI/Oとは
53(C) Recruit Technologies Co.,Ltd. All rights reserved.
require('fs');
console.log(‘start’);
var data1 = fs.readFileSync(‘hoge.txt’);
console.log(‘file1:’ + data1);
var data2 = fs.readFileSync(‘fuga.txt’);
console.log(‘file2:’ + data2);
console.log(‘end’);
同期IOの場合
start
file1: hoge
file2: fuge
end
54. ノンブロッキングI/Oとは
54(C) Recruit Technologies Co.,Ltd. All rights reserved.
require('fs');
console.log(‘start’);
fs.readFile(‘hoge.txt’, function(err, data) {
console.log(‘file1:’ + data);
});
fs.readFile(‘fuga.txt’, function(err, data) {
console.log(‘file2:’ + data);
});
console.log(‘end’);
start
end
file1: hoge
file2: fuga
非同期IOの場合
コールバック関数を渡し、
ファイル読み込み完了のイ
ベントが発生したタイミン
グで処理を行う
55. 56. 57. StreamAPIの活用
57(C) Recruit Technologies Co.,Ltd. All rights reserved.
require('fs');
console.log(‘start’);
data = fs.readFile(‘hoge.txt’,
function(err, data) {
console.log(data);
});
console.log(‘end’);
var readableStream =
fs.createReadStream(‘hoge.txt‘,
{bufferSize: 1});
readableStream.on('data',
function(data) {
console.log(data);
});
readableStream.on('end',
function() {
console.log('end');
});
一括ファイル読み込みの場合 StreamAPIの場合
データを破片単位に読み込み、非同期に処理を行う
58. StreamAPIの活用
58(C) Recruit Technologies Co.,Ltd. All rights reserved.
readStream
• Readable
transformStream
• Readable/Writable
transformStream
• Readable/Writable
writeStream
• Writable
pipe() pipe() pipe()
各処理をパイプで繋げていくことで非同期I/Oを有効活用する
データ1
データ1
データ1
データ1
データ2
データ2データ3
データ4 データ3 データ2
時間
複数のデータを
並行処理
59. StreamAPIの活用
59(C) Recruit Technologies Co.,Ltd. All rights reserved.
readStream
• Readable
transformStream
• Readable/Writable
transformStream
• Readable/Writable
writeStream
• Writable
pipe() pipe() pipe()
全ての処理速度が同じならば問題無し
処理速度
100 100 100 100
60. StreamAPIの活用
60(C) Recruit Technologies Co.,Ltd. All rights reserved.
readStream
• Readable
transformStream
• Readable/Writable
transformStream
• Readable/Writable
writeStream
• Writable
pipe() pipe() pipe()
後続が遅い場合はあまりをバッファに格納していく
処理速度
100 100 100 50
50
61. StreamAPIの活用
61(C) Recruit Technologies Co.,Ltd. All rights reserved.
readStream
• Readable
transformStream
• Readable/Writable
transformStream
• Readable/Writable
writeStream
• Writable
pipe() pipe() pipe()
後続が遅い場合はあまりをバッファに格納していく
処理速度
100 100 100 50
500このままではバッファを溢
れてしまう…
62. StreamAPIの活用
62(C) Recruit Technologies Co.,Ltd. All rights reserved.
readStream
• Readable
transformStream
• Readable/Writable
transformStream
• Readable/Writable
writeStream
• Writable
pipe() pipe() pipe()
後続処理は待って欲しい要求を出す
処理速度
100 100 100 50
500
pause()
63. StreamAPIの活用
63(C) Recruit Technologies Co.,Ltd. All rights reserved.
readStream
• Readable
transformStream
• Readable/Writable
transformStream
• Readable/Writable
writeStream
• Writable
pipe() pipe() pipe()
読み込み処理を停止させる
処理速度
100 100 100 50
500
pause()pause()pause()pause()
64. StreamAPIの活用
64(C) Recruit Technologies Co.,Ltd. All rights reserved.
readStream
• Readable
transformStream
• Readable/Writable
transformStream
• Readable/Writable
writeStream
• Writable
pipe() pipe() pipe()
バッファを先に処理する
処理速度
100 100 100 50
500
65. StreamAPIの活用
65(C) Recruit Technologies Co.,Ltd. All rights reserved.
readStream
• Readable
transformStream
• Readable/Writable
transformStream
• Readable/Writable
writeStream
• Writable
pipe() pipe() pipe()
バッファをある程度捌いたら処理を再開させる
処理速度
100 100 100 50
50
resume()resume()resume() resume()
66. 配信処理の構成
66(C) Recruit Technologies Co.,Ltd. All rights reserved.
DynamoDB
Elasticsearch
APNs
GCM
ConnectionPool
KeepAlive
データ抽出
データ形
式変換
一定件数単位に
送信
処理結果
保存
配信キュー
アプリID:xxx
配信タイプ:
* 全デバイス
* デバイスID指定
* デバイスIDリスト
* 検索条件指定
* 検索条件
search
scan
get
67. 配信処理の構成
67(C) Recruit Technologies Co.,Ltd. All rights reserved.
// データ抽出streamを作成
var searchStream = new SearchStream(query);
// データ抽出Streamに各Streamを連結させる
searchStream.pipe(transferStream) //データ変換用stream
.pipe(pushStream) //Push配信stream
.pipe(resultStream); //結果格納用のstream
配信処理は全てをStreamにて実装
68. 69. 配信処理の性能
69(C) Recruit Technologies Co.,Ltd. All rights reserved.
Auto scaling Group
CloudWatch
配信キュー
配信Worker
配信Worker
配信Worker
同時に複数の大量配信要求が来ても対応可能
APNs
GCM
自身の処理状況に応じてキューを
取得するか判断する。
70. 71. 運用レベルでの課題
71(C) Recruit Technologies Co.,Ltd. All rights reserved.
デバイスリストCSVによる運用
現行Pusnaの配信運用
1 デバイスリストCSVダウンロードを行う
2 デバイスリストCSVを編集
3 配信登録画面よりCSVアップロードし、登録
4 配信バッチにてプッシュ送信
CSV作成のコストは非常に高い。
数百万デバイスのCSVを作成するとシ
ステム全体に大きな負荷がかかる。
デバイスリストCSVの編集に手作業が
必要となるため運用コストが高い。
【課題】
• 一部サイトではダウンロードしたデバイスリ
ストCSVにより、マスタデータ管理を行って
いるサイトもある状況
72. 運用レベルでの課題
72(C) Recruit Technologies Co.,Ltd. All rights reserved.
現行Pusnaの配信運用
1 デバイスリストCSVダウンロードを行う
2 デバイスリストCSVを編集
3 配信登録画面よりCSVアップロードし、登録
4 配信バッチにてプッシュ送信
デバイスリストCSVによる運用の変更
PusnaRSの配信方法
1 全デバイス配信
2 条件指定配信
3 デバイス指定配信
ビックデータ基盤との連携
73. 条件指定配信
73(C) Recruit Technologies Co.,Ltd. All rights reserved.
プッシュ配信API
管理用Web UI
Push配信条件を指定
✔ 対象アプリ:アプリB
✔ 起動回数: 10回以上
✔ 年齢: 18歳以上
デバイス登録API
B
{
“アプリ起動回数”: 120,
“好きなジャンル”: “お笑い”,
“年齢”:”18”
}
付加情報
!
74. 75. 76. 77. 78. 無停止リリース
78(C) Recruit Technologies Co.,Ltd. All rights reserved.
インスタンス
削除
運用者
Auto scaling Group
Elastic
Beanstalk
インスタンス
作成Gitサーバ
Auto scaling Group
Elastic
Beanstalk
インスタンス
名変更
リリーススクリプト
upload
Gitリポジトリから最新の
ソースを取得し、Beanstalk
環境を再作成する。
release
動作中のBeanstalkと新規に
作成したBeanstalkのインス
タンス名を変更して、接続先
を切り替える。
destroy
旧環境を削除する。
79. 80. リアルタイムでのログ可視化
80(C) Recruit Technologies Co.,Ltd. All rights reserved.
td-agent
Access
.log
Node
.log
td-agent
Access
.log
Node
.log
td-agent
Access
.log
Node
.log
pub-que
reg-que
reg-api
Elasticsearchfluentd server
管理サーバ
Kibana
Kibana
Amazon S3
log
81. 82. 83. 84. 85. 86. 87. まとめ
87(C) Recruit Technologies Co.,Ltd. All rights reserved.
Push通知への要望
5000万デバイス以上に耐えられ
るスケーラビリティ
ノンストップでのリリース
1000万件を15分で一括配信
ビックデータを活用したターゲ
ティングを実現
PusnaRS
Pusna
で
の
課
題
新
た
な
価
値
デバイス数の急増
高水準のSLA
リアルタイムな情報配信
アクティブ率向上への施策
休眠ユーザの再起
PUSH通知基盤としての価値
88. まとめ
88(C) Recruit Technologies Co.,Ltd. All rights reserved.
シ
ス
テ
ム
面
運
用
面
処理の高速化
I/Oの高速化
要件の再確認
運用の高速化
使えそうな技術
• elasticsearch等の検索エンジン
• SQS等による非同期連携
• DynamoDB等のKVS
• ノンブロッキングI/O
• Hadoop等のビックデータ技術
• Rendr等のSPA高速化
• 無停止リリース
• リアルタイム・ログ可視化
観点
システムの高速化のポイント
89. 90.