Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

2014 11-20 adtechxscala-meetup

3.990 visualizaciones

Publicado el

2014 11-20 に催された「アドテク×Scala meetup」で発表したスライドです。
http://connpass.com/event/8384/

Publicado en: Ingeniería
  • Sé el primero en comentar

2014 11-20 adtechxscala-meetup

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

×