SlideShare a Scribd company logo
real-time delivery architecture

@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
http://twitpic.com/135xa There’s a plane in the
Hudson. I’m on a ferry
going to pick up the
people. Crazy.

!
15 Jan 09
Janis Krums @jkrums

@raffi
qcon shanghai 2013
what are the goals?
⇢ evolve from being solely a web stack

@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Gizmoduck

Flock(s)

@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Gizmoduck

Flock(s)

@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Gizmoduck

Flock(s)

@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Gizmoduck

Flock(s)

@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Gizmoduck

Flock(s)

@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Gizmoduck

Flock(s)

@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Darkwing

Flock(s)

@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Darkwing

Flock(s)

@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Darkwing

Flock(s)

@raffi
qcon shanghai 2013
ROUTING

PRESENTATION

LOGIC

STORAGE &
RETRIEVAL

T-Bird

T-Flock +
Haplo
Monorail
Darkwing

Flock(s)

@raffi
qcon shanghai 2013
what are the goals?
⇢ evolve from being solely a web stack
⇢ isolate responsibilities and concerns
⇢ site speed and reliability
⇢ developer innovation speed
@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
Write API

Ingester

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis

Timeline Cache

Search Cache

Redis

Fanout

@raffi
qcon shanghai 2013
Write API

Ingester

@raffi
qcon shanghai 2013
Write API

@raffi
qcon shanghai 2013
Write API

Ingester

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

@raffi
qcon shanghai 2013
Write API

Ingester

Hadoop

Batch Compute

Push Compute

Search Cache

Fanout

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Blender

HTTP Push

Mobile
Push

Hadoop

Batch Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Push Compute

Ingester

Social
Graph
Service

Timeline
Service

@raffi
qcon shanghai 2013
Write API

⇢ pipelined 4k
“destinations”
at a time
Blender

⇢ replicated

HTTP Push

Mobile
Push

Hadoop

Batch Compute

⇢ keyed off
“recipient”

Redis
Redis
Redis

Timeline Cache

Redis
Redis
Earlybird

Search Cache

insert

Fanout

Push Compute

Ingester

Social
Graph
Service

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

⇢ RPUSHX to
only add to
cached
timelines

Tweet IDPush User ID
HTTP
8 bytes
8 bytes
Mobile
Push

Bits

Hadoop
4 bytes

Batch Compute

⇢ native list
structure

Redis
Redis
Redis

Push Compute

Redis
Redis
Earlybird

Search Cache

using redis

Timeline Cache

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

⇢ RPUSHX to
only add to
cached
timelines

Tweet IDPush User ID
HTTP

Bits

Tweet ID

Bits Hadoop

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID
Timeline
Service

Mobile
Tweet ID
User ID
Push

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID

User ID

Batch Compute

⇢ native list
structure

Redis
Redis
Redis

Push Compute

Redis
Redis
Earlybird

Search Cache

using redis

Timeline Cache

Fanout

Bits

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

⇢ RPUSHX to
only add to
cached
timelines

Tweet IDPush User ID
HTTP

Bits

Tweet ID

Bits Hadoop ID
Tweet

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID

Timeline
Service

Mobile
Tweet ID
User ID
Push

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID

User ID

Bits

Tweet ID

User ID

Batch Compute

⇢ native list
structure

Redis
Redis
Redis

Push Compute

Redis
Redis
Earlybird

Search Cache

using redis

Timeline Cache

Fanout

Bits

Tweet ID

Tweet ID

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Cache

Redis
Redis
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Timeline
Service

HTTP Push

Hadoop

⇢ queries one
replica of all
indexes
Mobile
Push

Batch Compute

blender
Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

⇢ merges &
ranks results
@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
http push / hosebird
⇢ maintains persistent connections with
end clients
⇢ processes tweet & social graph events
⇢ event-based “router”
@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
User Streams

Hosebird

Track / Follow

Text

@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
User Streams

Hosebird

Track / Follow

@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
User Streams

Hosebird

Track / Follow

event propagation
⇢ write API sends all events into hosebird;
sees content creation events, social graph
changes, etc.
⇢ different queues for public tweets,
protected tweets, social events, etc.
@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
User Streams

Hosebird

Track / Follow

@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
User Streams

Hosebird

Track / Follow

event cascading
⇢ bandwidth management
⇢ simultaneous connection management
(~1m long lived & open connections to this
cluster)
@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
User Streams

Hosebird

Track / Follow

@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
User Streams

Hosebird

Track / Follow

firehose
⇢ edge machine simply outputs the public
tweet queue
⇢ only allow a limited number of firehoses
per hosebird box for bandwidth
management
@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
Track / Follow

Hosebird

User Streams

@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
Track / Follow

Hosebird

User Streams

track / follow
⇢ simple query based on tweet content
⇢ keeps list of terms / users of interest
⇢ parses public tweets at the edge, and if
term matches a token, or user is of
interest, then route
@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
Track / Follow

Hosebird

User Streams

@raffi
qcon shanghai 2013
Hosebird
Write API

Hosebird

Firehose
Track / Follow

Hosebird

User Streams

user streams
⇢ replicate home timeline experience
⇢ upon login, obtain “following” list
⇢ keep cached following list coherent by
seeing social graph updates
⇢ route tweet if from a followed user
@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop
Social
Graph
Service

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop
Social
Graph
Service

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop
Social
Graph
Service

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop
Social
Graph
Service

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Pull
Targeted twitter.com
home_timeline API

Queried Search API

Push
User / Site Streams
Mobile Push (SMS, etc.)
Track / Follow Streams

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Synchronous Path
Write API

Ingester

Blender

Timeline
Service

Mobile
Push

Asynchronous Path
Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Query Path

@raffi
qcon shanghai 2013
Synchronous Path
Write API

Ingester

Blender

Timeline
Service

Mobile
Push

Asynchronous Path
Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Query Path

@raffi
qcon shanghai 2013
Synchronous Path
Write API

Ingester

Blender

Timeline
Service

Mobile
Push

Asynchronous Path
Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Query Path

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
Blender

Write Path

HTTP Push

Mobile
Push

Hadoop

Batch Compute

Redis
Redis
Redis

Timeline Cache

Redis
Earlybird
Earlybird

Fanout

Push Compute

Ingester

Search Index

Read Path

Write API

Timeline
Service

@raffi
qcon shanghai 2013
Blender

Write Path

HTTP Push

Mobile
Push

Hadoop

Batch Compute

Redis
Redis
Redis

Timeline Cache

Redis
Earlybird
Earlybird

Fanout

Push Compute

Ingester

Search Index

Read Path

Write API

Timeline
Service

@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
things we’re trying...

@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
Write API

Redis
Earlybird
Earlybird

Fanout

Search Index

Ingester

Redis
Redis
Redis

@raffi
qcon shanghai 2013
Write API

Redis
Redis
Redis

Timeline Cache

Redis
Earlybird
Earlybird

Fanout

Search Index

Ingester

@raffi
qcon shanghai 2013
Write API

Redis
Redis
Redis

Timeline Cache

Redis
Earlybird
Earlybird

Fanout

Search Index

Ingester

@raffi
qcon shanghai 2013
Write API

Redis
Redis
Redis

Timeline Cache

Redis
Earlybird
Earlybird

Fanout

Search Index

Ingester

@raffi
qcon shanghai 2013
Write API

Redis
Redis
Redis

Timeline Cache

Redis
Earlybird
Earlybird

Fanout

Search Index

Ingester

@raffi
qcon shanghai 2013
Write API

Redis
Redis
Redis

Timeline Cache

Redis
Earlybird
Earlybird

Fanout

Search Index

Ingester

@raffi
qcon shanghai 2013
Write API

Redis
Redis
Redis

Timeline Cache

Redis
Earlybird
Earlybird

Fanout

Search Index

Ingester

@raffi
qcon shanghai 2013
Write API

search index
⇢[‘hello’,‘world’]

Redis
Redis
Redis

Timeline Cache

Redis
Earlybird
Earlybird

Fanout

Search Index

Ingester

fanout index
⇢[@danadanger, ...]
@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi

@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi

@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi

@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi

@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi

@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi

@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi

@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi

@raffi
qcon shanghai 2013
Write API

fan-in
⇢ O(n) read
Redis
Earlybird
Earlybird

⇢ O(n) write

Fanout

Redis
Redis
Redis

Timeline Cache

Ingester

Search Index

⇢ O(1) write

fan-out
⇢ O(1) read

@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi

@raffi
qcon shanghai 2013
User Intent

Query Expansion

“Hello, world”

“Hello” AND “world”

@raffi’s home timeline

home_timeline:raffi
OR
user_timeline:taylorswift13

@raffi
qcon shanghai 2013
streaming compute
⇢ continuous computation
⇢ driven by the events that come into
twitter
⇢ generalizing the push mechanism
@raffi
qcon shanghai 2013
Write API

Ingester

Blender

Mobile
Push

Hadoop

Batch Compute

HTTP Push

Push Compute

Redis
Redis
Redis

Timeline Cache

Search Index

Redis
Earlybird
Earlybird

Fanout

Timeline
Service

@raffi
qcon shanghai 2013
timeline query statistics
⇢ >150m active users worldwide
⇢ 300k qps poll-based timelines 

@ 1ms p50 / 4ms p99
⇢ 30k qps search-based timelines
@raffi
qcon shanghai 2013
tweet input
⇢ ~340m tweets per day
⇢ ~4K/sec daily average
⇢ ~6K/sec daily peak
⇢ >10K/sec during large events
@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
followed by

following

@raffi
qcon shanghai 2013
@raffi
qcon shanghai 2013
timeline delivery statistics
⇢ 26b deliveries / day (~18m / min)
⇢ 3.5 seconds @ p50 to deliver to 1m
⇢ ~300k deliveries / sec

@raffi
qcon shanghai 2013
thanks!

More Related Content

Viewers also liked

FeedTso, History of a WP7 FeedReader
FeedTso, History of a WP7 FeedReaderFeedTso, History of a WP7 FeedReader
FeedTso, History of a WP7 FeedReader
Simone Chiaretta
 
Moodle 2 Top 10 Issues
Moodle 2 Top 10 IssuesMoodle 2 Top 10 Issues
Moodle 2 Top 10 Issues
Mark McCall
 
Reliance 2013 Brochure
Reliance 2013 BrochureReliance 2013 Brochure
Reliance 2013 Brochure
pcochran
 
Moodle to Mars
Moodle to MarsMoodle to Mars
Moodle to Mars
Mark McCall
 
The ViewModel pattern
The ViewModel patternThe ViewModel pattern
The ViewModel pattern
Simone Chiaretta
 
Enough Theory! Let's put that content strategy into action!
Enough Theory! Let's put that content strategy into action! Enough Theory! Let's put that content strategy into action!
Enough Theory! Let's put that content strategy into action!
Jeff Johnson
 

Viewers also liked (6)

FeedTso, History of a WP7 FeedReader
FeedTso, History of a WP7 FeedReaderFeedTso, History of a WP7 FeedReader
FeedTso, History of a WP7 FeedReader
 
Moodle 2 Top 10 Issues
Moodle 2 Top 10 IssuesMoodle 2 Top 10 Issues
Moodle 2 Top 10 Issues
 
Reliance 2013 Brochure
Reliance 2013 BrochureReliance 2013 Brochure
Reliance 2013 Brochure
 
Moodle to Mars
Moodle to MarsMoodle to Mars
Moodle to Mars
 
The ViewModel pattern
The ViewModel patternThe ViewModel pattern
The ViewModel pattern
 
Enough Theory! Let's put that content strategy into action!
Enough Theory! Let's put that content strategy into action! Enough Theory! Let's put that content strategy into action!
Enough Theory! Let's put that content strategy into action!
 

Similar to Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]

BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web ApplicationsBDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
Patrick Viafore
 
Microformats
MicroformatsMicroformats
Microformats
Aaron Grogg
 
Feedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCodeFeedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCode
Haja R
 
Advanced search for your legacy application - David Pilato - Codemotion Rome ...
Advanced search for your legacy application - David Pilato - Codemotion Rome ...Advanced search for your legacy application - David Pilato - Codemotion Rome ...
Advanced search for your legacy application - David Pilato - Codemotion Rome ...
Codemotion
 
The Power of Open Data
The Power of Open DataThe Power of Open Data
The Power of Open Data
Phil Windley
 
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
Alex Borysov
 
"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition
"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition
"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition
Alex Borysov
 
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s MicroservicesBFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
Bora Tunca
 
AWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup EconomyAWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup Economy
Amazon Web Services
 
"gRPC vs REST: let the battle begin!" OSCON 2018 edition
"gRPC vs REST: let the battle begin!" OSCON 2018 edition"gRPC vs REST: let the battle begin!" OSCON 2018 edition
"gRPC vs REST: let the battle begin!" OSCON 2018 edition
Alex Borysov
 
HTTPS The Road To A More Secure Web / SEOCamp Paris
HTTPS The Road To A More Secure Web / SEOCamp ParisHTTPS The Road To A More Secure Web / SEOCamp Paris
HTTPS The Road To A More Secure Web / SEOCamp Paris
Aysun Akarsu
 
BigWP: Delivering the news over HTTPS
BigWP: Delivering the news over HTTPSBigWP: Delivering the news over HTTPS
BigWP: Delivering the news over HTTPS
Paul Schreiber
 
Experiences in Architecting & Implementing Platforms using Serverless.pdf
Experiences in Architecting & Implementing Platforms using Serverless.pdfExperiences in Architecting & Implementing Platforms using Serverless.pdf
Experiences in Architecting & Implementing Platforms using Serverless.pdf
Srushith Repakula
 
Timelines at scale
Timelines at scaleTimelines at scale
Timelines at scale
Viet Nt
 
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)
Chris Bolman
 
Raffi Krikorian, Twitter Timelines at Scale
Raffi Krikorian, Twitter Timelines at ScaleRaffi Krikorian, Twitter Timelines at Scale
Raffi Krikorian, Twitter Timelines at Scale
Mariano Amartino
 
Building Serverless applications with Python
Building Serverless applications with PythonBuilding Serverless applications with Python
Building Serverless applications with Python
Andrii Soldatenko
 
Twitter API 2.0
Twitter API 2.0Twitter API 2.0
Twitter API 2.0
Alex Payne
 
AWS CodeStar 및 Cloud9을 통한 서버리스(Serverless) 앱 개발 길잡이 - 윤석찬 (AWS 테크에반젤리스트)
AWS CodeStar 및 Cloud9을 통한 서버리스(Serverless) 앱 개발 길잡이 - 윤석찬 (AWS 테크에반젤리스트)AWS CodeStar 및 Cloud9을 통한 서버리스(Serverless) 앱 개발 길잡이 - 윤석찬 (AWS 테크에반젤리스트)
AWS CodeStar 및 Cloud9을 통한 서버리스(Serverless) 앱 개발 길잡이 - 윤석찬 (AWS 테크에반젤리스트)
Amazon Web Services Korea
 
Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017
Matt Raible
 

Similar to Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture] (20)

BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web ApplicationsBDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
 
Microformats
MicroformatsMicroformats
Microformats
 
Feedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCodeFeedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCode
 
Advanced search for your legacy application - David Pilato - Codemotion Rome ...
Advanced search for your legacy application - David Pilato - Codemotion Rome ...Advanced search for your legacy application - David Pilato - Codemotion Rome ...
Advanced search for your legacy application - David Pilato - Codemotion Rome ...
 
The Power of Open Data
The Power of Open DataThe Power of Open Data
The Power of Open Data
 
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
 
"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition
"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition
"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition
 
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s MicroservicesBFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
 
AWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup EconomyAWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup Economy
 
"gRPC vs REST: let the battle begin!" OSCON 2018 edition
"gRPC vs REST: let the battle begin!" OSCON 2018 edition"gRPC vs REST: let the battle begin!" OSCON 2018 edition
"gRPC vs REST: let the battle begin!" OSCON 2018 edition
 
HTTPS The Road To A More Secure Web / SEOCamp Paris
HTTPS The Road To A More Secure Web / SEOCamp ParisHTTPS The Road To A More Secure Web / SEOCamp Paris
HTTPS The Road To A More Secure Web / SEOCamp Paris
 
BigWP: Delivering the news over HTTPS
BigWP: Delivering the news over HTTPSBigWP: Delivering the news over HTTPS
BigWP: Delivering the news over HTTPS
 
Experiences in Architecting & Implementing Platforms using Serverless.pdf
Experiences in Architecting & Implementing Platforms using Serverless.pdfExperiences in Architecting & Implementing Platforms using Serverless.pdf
Experiences in Architecting & Implementing Platforms using Serverless.pdf
 
Timelines at scale
Timelines at scaleTimelines at scale
Timelines at scale
 
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)
 
Raffi Krikorian, Twitter Timelines at Scale
Raffi Krikorian, Twitter Timelines at ScaleRaffi Krikorian, Twitter Timelines at Scale
Raffi Krikorian, Twitter Timelines at Scale
 
Building Serverless applications with Python
Building Serverless applications with PythonBuilding Serverless applications with Python
Building Serverless applications with Python
 
Twitter API 2.0
Twitter API 2.0Twitter API 2.0
Twitter API 2.0
 
AWS CodeStar 및 Cloud9을 통한 서버리스(Serverless) 앱 개발 길잡이 - 윤석찬 (AWS 테크에반젤리스트)
AWS CodeStar 및 Cloud9을 통한 서버리스(Serverless) 앱 개발 길잡이 - 윤석찬 (AWS 테크에반젤리스트)AWS CodeStar 및 Cloud9을 통한 서버리스(Serverless) 앱 개발 길잡이 - 윤석찬 (AWS 테크에반젤리스트)
AWS CodeStar 및 Cloud9을 통한 서버리스(Serverless) 앱 개발 길잡이 - 윤석찬 (AWS 테크에반젤리스트)
 
Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017
 

More from Michael Zhang

廣告系統在Docker/Mesos上的可靠性實踐
廣告系統在Docker/Mesos上的可靠性實踐廣告系統在Docker/Mesos上的可靠性實踐
廣告系統在Docker/Mesos上的可靠性實踐
Michael Zhang
 
HKIX Upgrade to 100Gbps-Based Two-Tier Architecture
HKIX Upgrade to 100Gbps-Based Two-Tier ArchitectureHKIX Upgrade to 100Gbps-Based Two-Tier Architecture
HKIX Upgrade to 100Gbps-Based Two-Tier Architecture
Michael Zhang
 
2014 GITC 帶上數據去創業 talkingdata—高铎
 2014 GITC 帶上數據去創業 talkingdata—高铎 2014 GITC 帶上數據去創業 talkingdata—高铎
2014 GITC 帶上數據去創業 talkingdata—高铎Michael Zhang
 
Fastsocket Linxiaofeng
Fastsocket LinxiaofengFastsocket Linxiaofeng
Fastsocket Linxiaofeng
Michael Zhang
 
Spark sql meetup
Spark sql meetupSpark sql meetup
Spark sql meetup
Michael Zhang
 
2014 Hpocon 李志刚 1号店 - puppet在1号店的实践
2014 Hpocon 李志刚   1号店 - puppet在1号店的实践2014 Hpocon 李志刚   1号店 - puppet在1号店的实践
2014 Hpocon 李志刚 1号店 - puppet在1号店的实践
Michael Zhang
 
2014 Hpocon 姚仁捷 唯品会 - data driven ops
2014 Hpocon 姚仁捷   唯品会 - data driven ops2014 Hpocon 姚仁捷   唯品会 - data driven ops
2014 Hpocon 姚仁捷 唯品会 - data driven ops
Michael Zhang
 
2014 Hpocon 高驰涛 云智慧 - apm在高性能架构中的应用
2014 Hpocon 高驰涛   云智慧 - apm在高性能架构中的应用2014 Hpocon 高驰涛   云智慧 - apm在高性能架构中的应用
2014 Hpocon 高驰涛 云智慧 - apm在高性能架构中的应用
Michael Zhang
 
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
Michael Zhang
 
2014 Hpocon 吴磊 ucloud - 由点到面 提升公有云服务可用性
2014 Hpocon 吴磊   ucloud - 由点到面 提升公有云服务可用性2014 Hpocon 吴磊   ucloud - 由点到面 提升公有云服务可用性
2014 Hpocon 吴磊 ucloud - 由点到面 提升公有云服务可用性
Michael Zhang
 
2014 Hpocon 周辉 大众点评 - 大众点评混合开发模式下的加速尝试
2014 Hpocon 周辉   大众点评 - 大众点评混合开发模式下的加速尝试2014 Hpocon 周辉   大众点评 - 大众点评混合开发模式下的加速尝试
2014 Hpocon 周辉 大众点评 - 大众点评混合开发模式下的加速尝试
Michael Zhang
 
Cuda 6 performance_report
Cuda 6 performance_reportCuda 6 performance_report
Cuda 6 performance_report
Michael Zhang
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and Hadoop
Michael Zhang
 
Hadoop Hardware @Twitter: Size does matter.
Hadoop Hardware @Twitter: Size does matter.Hadoop Hardware @Twitter: Size does matter.
Hadoop Hardware @Twitter: Size does matter.
Michael Zhang
 
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Michael Zhang
 
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Michael Zhang
 
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]Michael Zhang
 
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Michael Zhang
 
Q con shanghai2013-罗婷-performance methodology
Q con shanghai2013-罗婷-performance methodologyQ con shanghai2013-罗婷-performance methodology
Q con shanghai2013-罗婷-performance methodology
Michael Zhang
 
Q con shanghai2013-赵永明-ats与cdn实践
Q con shanghai2013-赵永明-ats与cdn实践Q con shanghai2013-赵永明-ats与cdn实践
Q con shanghai2013-赵永明-ats与cdn实践Michael Zhang
 

More from Michael Zhang (20)

廣告系統在Docker/Mesos上的可靠性實踐
廣告系統在Docker/Mesos上的可靠性實踐廣告系統在Docker/Mesos上的可靠性實踐
廣告系統在Docker/Mesos上的可靠性實踐
 
HKIX Upgrade to 100Gbps-Based Two-Tier Architecture
HKIX Upgrade to 100Gbps-Based Two-Tier ArchitectureHKIX Upgrade to 100Gbps-Based Two-Tier Architecture
HKIX Upgrade to 100Gbps-Based Two-Tier Architecture
 
2014 GITC 帶上數據去創業 talkingdata—高铎
 2014 GITC 帶上數據去創業 talkingdata—高铎 2014 GITC 帶上數據去創業 talkingdata—高铎
2014 GITC 帶上數據去創業 talkingdata—高铎
 
Fastsocket Linxiaofeng
Fastsocket LinxiaofengFastsocket Linxiaofeng
Fastsocket Linxiaofeng
 
Spark sql meetup
Spark sql meetupSpark sql meetup
Spark sql meetup
 
2014 Hpocon 李志刚 1号店 - puppet在1号店的实践
2014 Hpocon 李志刚   1号店 - puppet在1号店的实践2014 Hpocon 李志刚   1号店 - puppet在1号店的实践
2014 Hpocon 李志刚 1号店 - puppet在1号店的实践
 
2014 Hpocon 姚仁捷 唯品会 - data driven ops
2014 Hpocon 姚仁捷   唯品会 - data driven ops2014 Hpocon 姚仁捷   唯品会 - data driven ops
2014 Hpocon 姚仁捷 唯品会 - data driven ops
 
2014 Hpocon 高驰涛 云智慧 - apm在高性能架构中的应用
2014 Hpocon 高驰涛   云智慧 - apm在高性能架构中的应用2014 Hpocon 高驰涛   云智慧 - apm在高性能架构中的应用
2014 Hpocon 高驰涛 云智慧 - apm在高性能架构中的应用
 
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
 
2014 Hpocon 吴磊 ucloud - 由点到面 提升公有云服务可用性
2014 Hpocon 吴磊   ucloud - 由点到面 提升公有云服务可用性2014 Hpocon 吴磊   ucloud - 由点到面 提升公有云服务可用性
2014 Hpocon 吴磊 ucloud - 由点到面 提升公有云服务可用性
 
2014 Hpocon 周辉 大众点评 - 大众点评混合开发模式下的加速尝试
2014 Hpocon 周辉   大众点评 - 大众点评混合开发模式下的加速尝试2014 Hpocon 周辉   大众点评 - 大众点评混合开发模式下的加速尝试
2014 Hpocon 周辉 大众点评 - 大众点评混合开发模式下的加速尝试
 
Cuda 6 performance_report
Cuda 6 performance_reportCuda 6 performance_report
Cuda 6 performance_report
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and Hadoop
 
Hadoop Hardware @Twitter: Size does matter.
Hadoop Hardware @Twitter: Size does matter.Hadoop Hardware @Twitter: Size does matter.
Hadoop Hardware @Twitter: Size does matter.
 
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
 
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
 
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
 
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
 
Q con shanghai2013-罗婷-performance methodology
Q con shanghai2013-罗婷-performance methodologyQ con shanghai2013-罗婷-performance methodology
Q con shanghai2013-罗婷-performance methodology
 
Q con shanghai2013-赵永明-ats与cdn实践
Q con shanghai2013-赵永明-ats与cdn实践Q con shanghai2013-赵永明-ats与cdn实践
Q con shanghai2013-赵永明-ats与cdn实践
 

Recently uploaded

Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 

Recently uploaded (20)

Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 

Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]