Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スケールしない広告サーバの作り方
Search
Satoshi
March 03, 2016
Technology
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スケールしない広告サーバの作り方
スケールしない広告サーバを作ってしまうアンチパターンについてまとめています.
Satoshi
March 03, 2016
More Decks by Satoshi
See All by Satoshi
高速な広告配信サーバの作り方のコツ
satoshi03
3
530
Gunosy AdServerのデータ周りの話
satoshi03
2
3k
フルスクラッチで書いたアドサーバの開発・運用史
satoshi03
2
4.5k
Gunosy.go #2 container
satoshi03
1
77
Gunosy Go Lang Study #6 net net/http net/url
satoshi03
0
150
Other Decks in Technology
See All in Technology
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
120
関東Kaggler会発表資料
takoi
1
240
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
310
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
260
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.4k
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
3
24k
Apache Icebergインフラストラクチャ:ストレージ・カタログ・エンジンの選択肢とClouderaプラットフォームでの実装
tsugiyama
0
110
強化学習「理論」入門
enakai00
3
3.6k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.3k
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
230
Flutterをカメラで動かしたかった話
sony
1
140
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Building the Perfect Custom Keyboard
takai
2
840
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
270
First, design no harm
axbom
PRO
2
1.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
Being A Developer After 40
akosma
91
590k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
480
Believing is Seeing
oripsolob
1
190
Navigating Team Friction
lara
192
16k
Building Adaptive Systems
keathley
44
3.2k
Transcript
印南 @ Gunosy 広告技術部 スケールしない広告サーバの作り方
自己紹介 • 印南聡志(いんなみ さとし) • Gunosyのアドエンジニア • 2014年6月 入社 •
Gunosyのアド配信サーバ周り全般担当 • 言語 • Go • Python • 最近ランニングにはまっております
今日のお話 スケールしない 広告サーバの作り方 ※ここでのスケールはスケールアウトのことです
注意 スケール時のアンチパターンをまとめております! 弊社の広告サーバがスケールしないわけではありません!
あなたの会社の広告サーバは スケールしていますか?
スケールしないと… 急なリクエスト増に耐えられない
レイテンシ(遅延)が発生
エンジニアの死
油田王になりたくなる
作り方を知れば あなたにも簡単に作れます!
スケールしない広告サーバの作り方① ボトルネックをガンガン作ろう!
ボトルネックをガンガン作ると… アクセス増のタイミングで ボトルネック部分が突然詰まる!
ボトルネックを作るには?
ボトルネックを作るには? (その1) 配信サーバからデータストアに ガンガン書き込みを走らせよう!
配信サーバ 配信データ DB READ WRITE ボトルネック 書き込みが分散できず 詰まる
ボトルネックを作るには? (その2) 全データを一つの データストアに入れよう!
広告情報 配信候補 消化予算 ユーザ属性 FQ リタゲ … データサイズ… ライフサイクル… 重要度…
配信データDB アクセスが集中 メンテが困難
ボトルネックを作るには? (その3) 全ての処理を同期的に行おう!
ログDB WRITE ボトルネック 配信サーバ ELB 書込み完了を 待機
スケールしない広告サーバの作り方② サーバ追加が超絶難しい 環境を作ろう!
どうやって作るか?
サーバを追加するのに 物理的にサーバを購入するために 承認が必要な環境を整えよう! サーバ追加を超絶難しくするには? 3人以上の承認が 必要なのがベター
サーバごとに独自の環境設定を (バレにくいように)埋めこもう! サーバ追加を超絶難しくするには?
どこに隠しておくのが良いのか? • configファイル • 環境変数 • cron /etc/xx/include あたりがGood 実行ユーザを
変えて撹乱
サーバ追加を超絶難しくするには? 継続的インテグレーション(CI)環境 を作らないようにしよう! 自動ビルド 自動テスト 自動デプロイ
まとめ スケールしない広告サーバを作るには? ボトルネックをガンガン作ろう! サーバ追加が超絶難しい環境を整えよう!
最後に スケールする広告サーバに興味があれば 懇親会でお声掛けください
We Are Hiring!!! Gunosyではスケールする広告サーバを 開発するエンジニアを 募集しております!!