2014 11-20 adtechxscala-meetup
-
Upload
- -
Category
Engineering
-
view
1.868 -
download
2
Transcript of 2014 11-20 adtechxscala-meetup
アドテクを支えるScala Ad Generationの場合
2014-11-20 アドテク×Scala meetup
自己紹介• 野村 欣弘(のむら よしひろ)
• 株式会社mediba(株式会社ScaleOutに出向中)
• scala歴:1年半ぐらい
• ネット広告業界歴:2年半ぐらい
• 主にAd Generationの開発を担当
アジェンダ• medibaでscalaを採用した理由
• Ad Generationでどのようにscalaが使われているか?
• sprayを使ったrtb-engineについて
• sparkを使ったrtb-engine-logについて
• scalaをつかってみて
scala採用した理由
• githubを見るに、2011年ぐらいから使い始める
• medibaadでは配信サーバでPlay、集計でspark
Ad Generationについて
• ScaleOut Ad Platform上に構築されたSSP • スマートフォン(web/app)に注力 • 来月からScaleOutに譲渡されます • RTB関連の処理をscalaで実装
ScaleOut Ad Platform
ScaleOut DSP
ScaleOut DMP
Ad Generation (SSP)
ScaleOut Ad Platform
どのようにscalaが使われるのか
adserver
RTBサーバ
DSPrtb-enigne
fluentd
集計サーバ
HDFS
mesos
rtb-enigne-log
DSP
DSP
SDK
枠 データ
どのようにscalaが使われてるのか
• rtb-engine
• DSPからの入札をオークションするサーバです。
• rtb-engine-log
• アクセス数、DSP通信、オークション状況(入札、落札)の集計を行います。
rtb-engine• spray1.2.1
• アドサーバと枠データ、オークション結果をやり取りする
• DSPとの入札、応札をやり取りをする
• DSPからのレスポンスをまって、オークションする
• 集計画面(angularJS)用のAPIも
rtb-engine• 現状10台
• 70億オークション/月
• 250億bid リクエスト/月
• 70億 x 3-4DSP
• ピーク時
対アドサーバ : 4,900qps、対DSP : 20,000qps
rtb-engine
ピーク時にさばけない
-> configの見直し
-> コードの見直し
rtb-engine
• configの見直し
• akkaの設定とsprayの設定
• 似たような設定項目が複数ある
• APIレイヤーが細かい
rtb-engine• コードの見直し
• ブロックする箇所をFutureを使うように
• 用途ごとにスレッドプールを割り当てた
rtb-engine-log• spark1.0.0
• mesos上で動かしてる
• 7種類のログを集計
• 10分ごと、1時間ごと、1日ごとに集計
• 入力はHDFS、出力はDB
rtb-engine-log
rtb-engine-log
• 6cpu,20GB/台 x 4台 • master:2台, slave:4台 • 500M - 1.5G x 7 x 10 / hour • 12 - 40s/job
rtb-engine-log• 集計自体よりI/Oがネック(主にDB)
• ほどよいサイズで
• 手軽に試せるし、身構えず書ける
• spark-shellが試しやすい
• コレクションを操作するのと変わらず書ける
scalaを使ってみて•並列処理、並行処理を扱いやすい
• アドサーバやRTBサーバのようなものには向いている
• 用途を選ばない言語
• 何でもそつなくこなせる
• 配信も集計も1つの言語で
• やっぱりJava、JVM知ってた方がいい
今後• チューニング
• この会で勉強しようと思います。
• 売り上げ向上につながる、柔軟に速やかな分析
• spark SQL、chronosとかを調査中
おわり
• 大規模配信を行いたい方 • 大規模データの解析を行いたい方 • 広告システム,ログ解析システムは絶対面白い!と思う方 • Webアプリ開発大好きでデザパタ厨な方 • Pのつく言語に携わるのに少し疲れた方 • 弊社に興味を持たれた方 http://www.scaleout.jp/about/job-opportunities/
ScaleOutでは各種エンジニアを募集中です。