ScalaでDSP作ってみた

1,455 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,455
On SlideShare
0
From Embeds
0
Number of Embeds
111
Actions
Shares
0
Downloads
6
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

ScalaでDSP作ってみた

  1. 1. SCALAで DSP作ってみた 2013-12-07 Jiro Hiraiwa
  2. 2. トピックス 1. 自己紹介 2. DSPとは? 3. システム構成 4. 感想や課題とか
  3. 3. 自己紹介 なまえ:平岩 二郎 @hiraiva Scalaとかで広告システムを作る Demand Side Science という小さな会社の代表やってます 今は Scala と JavaScript がメイン 前はスマホアプリとかも書いていた
  4. 4. DSPを作ったときの立場 要件調整、設計、実装などを担当 プロダクトマネージャーが近いが何でもやります 私自身のScalaの技術レベルは中の中(だと思いたい)
  5. 5. DSPとは Demand Side Platformの略 広告主(Demand Side)の為のシステム RTB(Real Time Bidding)によって広告枠の買い付けを行う 高トラフィック処理(数千~数万QPS)
  6. 6. システム概要 - フロント BID SERVER SSPとRTB取引を行うサーバ nginx + fingale + scala2.10 BEACON SERVER impやclickのトラッキングビーコンを受けとるサーバ nginx + play2.0 + scala2.10
  7. 7. システム概要 - コンソール CONSOLE SERVER 広告出稿者が配信設定を行う管理コンソールを提供する nginx + play2.0 + scala2.10 + backbone.js scalaはWebAPIのみ。UIは全てjs
  8. 8. システム構成 - バックエンド REDIS ユニークブラウザ毎のデータ HBASE 配信ログデータ MYSQL 配信設定。実際には各サーバにあるキャッシュを使う
  9. 9. SCALAを使って良かったこと それなりに早く開発できた 複雑な処理を簡潔に記述できた 型安全を活かせると改修がすごく楽 コンソールでのscalaとjsの使い分けは良かった 社内的に技術に対するモチベーションを喚起できた
  10. 10. SCALAを使って困ったこと コンパイルおそい(特にマクロを含む場合っぽい) 技術レベルのgapにより書き方がバラバラになる 型安全にするには実装者が気をつける スレッドセーフにするには実装者が気をつける Tuple 23問題は画面系でぶつかりやすい
  11. 11. その他感想など 良くも悪くもJavaの知識が前提 製品環境のチューニングという意味ではJVMの知識が重要 並列コレクションやActorも活用したい やっぱりCakeパターンは複雑すぎる気がする
  12. 12. ご清聴ありがとう ございました

×