スケールしない広告サーバの作り方

184 views
103 views

Published on

スケールしない広告サーバのアンチパターンについて説明しています.

Published in: Engineering
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
184
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

スケールしない広告サーバの作り方

  1. 1. 印南 @ Gunosy 広告技術部 スケールしない広告サーバの作り方
  2. 2. 自己紹介 • 印南聡志(いんなみ さとし) • Gunosyのアドエンジニア • 2014年6月 入社 • Gunosyのアド配信サーバ周り全般担当 • 言語 • Go • Python • 最近ランニングにはまっております
  3. 3. 今日のお話 スケールしない 広告サーバの作り方 ※ここでのスケールはスケールアウトのことです
  4. 4. 注意 スケール時のアンチパターンをまとめております! 弊社の広告サーバがスケールしないわけではありません!
  5. 5. あなたの会社の広告サーバは スケールしていますか?
  6. 6. スケールしないと… 急なリクエスト増に耐えられない
  7. 7. レイテンシ(遅延)が発生
  8. 8. エンジニアの死
  9. 9. 油田王になりたくなる
  10. 10. 作り方を知れば あなたにも簡単に作れます!
  11. 11. スケールしない広告サーバの作り方① ボトルネックをガンガン作ろう!
  12. 12. ボトルネックをガンガン作ると… アクセス増のタイミングで ボトルネック部分が突然詰まる!
  13. 13. ボトルネックを作るには?
  14. 14. ボトルネックを作るには? (その1) 配信サーバからデータストアに ガンガン書き込みを走らせよう!
  15. 15. 配信サーバ 配信データ DB READ WRITE ボトルネック 書き込みが分散できず 詰まる
  16. 16. ボトルネックを作るには? (その2) 全データを一つの データストアに入れよう!
  17. 17. 広告情報 配信候補 消化予算 ユーザ属性 FQ リタゲ … データサイズ… ライフサイクル… 重要度… 配信データDB アクセスが集中 メンテが困難
  18. 18. ボトルネックを作るには? (その3) 全ての処理を同期的に行おう!
  19. 19. ログDB WRITE ボトルネック 配信サーバ ELB 書込み完了を 待機
  20. 20. スケールしない広告サーバの作り方② サーバ追加が超絶難しい 環境を作ろう!
  21. 21. どうやって作るか?
  22. 22. サーバを追加するのに 物理的にサーバを購入するために 承認が必要な環境を整えよう! サーバ追加を超絶難しくするには? 3人以上の承認が 必要なのがベター
  23. 23. サーバごとに独自の環境設定を (バレにくいように)埋めこもう! サーバ追加を超絶難しくするには?
  24. 24. どこに隠しておくのが良いのか? • configファイル • 環境変数 • cron /etc/xx/include あたりがGood 実行ユーザを 変えて撹乱
  25. 25. サーバ追加を超絶難しくするには? 継続的インテグレーション(CI)環境 を作らないようにしよう!
  26. 26. まとめ スケールしない広告サーバを作るには? ボトルネックをガンガン作ろう! サーバ追加が超絶難しい環境を整えよう!
  27. 27. 最後に スケールする広告サーバに興味があれば 懇親会でお声掛けください
  28. 28. We Are Hiring!!! Gunosyではスケールする広告サーバを 開発するエンジニアを 募集しております!!

×