Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
スケールしない広告サーバの作り方
Search
Satoshi
March 03, 2016
Technology
260
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
540
Gunosy AdServerのデータ周りの話
satoshi03
2
3.1k
フルスクラッチで書いたアドサーバの開発・運用史
satoshi03
2
4.5k
Gunosy.go #2 container
satoshi03
1
79
Gunosy Go Lang Study #6 net net/http net/url
satoshi03
0
150
Other Decks in Technology
See All in Technology
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
130
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
290
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
200
USB PDを使ってスマホを労わりたい
raspython3
0
180
Browser Spec: Testing Hotwire with Ruby
takahashim
1
130
Optunaの最新リリースv5.0について
pfn
PRO
0
120
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
170
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
660
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
Classmethod Company Deck
satoshi7
1
730
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
WCS-LA-2024
lcolladotor
0
890
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Building Applications with DynamoDB
mza
96
7.2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
330
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
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ではスケールする広告サーバを 開発するエンジニアを 募集しております!!