The Clojure brain behind
40 billion req/day
a story of deploying clojure into production
About
World's largest, 100% self-serve, mobile demand-side platform (DSP) for programmatic mobile.
Dapeng, backend tech lead
http://verydapeng.com
Exchange
yes! I will pay $0.01
ad needed
do you want?
problem
Customer
Campaign
Order
Region
Bidder
Campaign
Order
Region
Bidder
$
Buffer
$
Spending
λ (pyramid, spend, buffer, when) => [allocation]
Java
(def software (+ data functions))
Clojure to the rescue!
json mapping like a boss
data => λ => data
testing
transaction w/o db
logging
Deployment - upstart
description "start the brain!!!"
chdir "/opt/brain/"
start on runlevel [2345]
exec java -server -jar brain.jar >> logs/brain.log 2>&1
Challenge - Tools
Cursive, CCW, Emacs, Vim
Challenge - Developers
no more accumulators, no more loops
map, filter, reduce are your new friends
less HOW, more WHAT
think in data
Challenge - Bus factor
Keep it simple
))))))))))))
Q&A
We are hiring!