The web is live. APIs give us access to continuously changing data. We discuss ways to get real-time data into your app, how to handle data processing and what to do when you get thousands of updates per second.
4. GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET POST GET GET GET GET GET GET G
GET GET GET GET GET POST GET POST GET GET GET GET GET POST GET GET GET GET GET GET GET GET GET GET GET GET GET
GET GET GET GET GET POST GET GET GET GET GET GET GET GET POST GET GET POST GET GET GET GET GET GET GET GET GET
GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET POST GET GET GET GET GET GET GET POST GET GET GET G
GET POST GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET G
GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET
GET GET GET GET GET GET GET GET GET GET GET GET GET POST GET GET GET GET GET GET GET GET GET GET GET GET GET G
GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET POST GET GET G
GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET POST GET GET PO
GET GET GET GET GET GET GET POST GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET G
GET GET GET GET GET GET GET GET GET GET GET GET GET POST GET GET GET GET GET GET GET GET GET GET GET GET GET G
GET GET GET POST GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET POST GET G
POST GET GET GET POST GET GET GET GET GET GET GET POST GET POST GET GET GET GET GET GET GET GET GET GET GET G
GET GET GET GET GET POST GET GET GET GET GET GET GET GET GET GET GET GET GET GET GET POST GET GET GET POST GET
GET GET GET GET GET GET GET GET GET GET POST GET GET POST GET GET GET GET GET GET GET GET GET GET GET GET GET P
GET GET GET GET POST GET GET GET GET GET GET GET GET GET GET GET GET POST GET GET GET GET GET GET GET GET GET G
GET GET GET GET GET GET POST GET GET GET GET GET GET GET GET POST GET GET GET GET GET GET GET GET POST GET GET
GET GET GET GET GET GET GET GET POST GET GET GET GET GET GET GET GET POST GET GET GET GET GET GET GET GET GET G
15. ... but that doesn’t
mean we need to use
J2EE or Erlang.
16. Using the techniques discussed today, we have:
Processed > 4k pieces of data/second
Tracked >50k live datapoints
Run live events
Served award-show sized audiences
17. You may not deal with this scale, but hopefully you can
Learn from our techniques
46. Retrieval / Streaming
“Site Streams may deliver hundreds of messages per second to a client, and each
stream may consume significant (> 1 Mbit/sec) bandwidth.
Your processing of tweets should be asynchronous,
with appropriate buffers in place to handle spikes of 3x normal throughput. Note
that slow reading clients are automatically terminated.”
https://dev.twitter.com/docs/streaming-api/site-streams
59. Check for profanity
then
Retrieve an avatar
then
Geo-locate the author
then
Add as input for trending terms
then
Retrieve author’s social graph
then
Adjust the leaderboard
60. Retrieve an avatar
Check for profanity
Geo-locate the author
Add as input for trending terms
then
Retrieve author’s social graph
Adjust the leaderboard
78. Presentation / Continuous Caching
Out-of-band caching.
Works when the number of pages is relatively small.
Similar to proxy_cache, but more resilient.