SlideShare a Scribd company logo
1 of 140
Download to read offline
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 FeedReaderSimone Chiaretta
 
Moodle 2 Top 10 Issues
Moodle 2 Top 10 IssuesMoodle 2 Top 10 Issues
Moodle 2 Top 10 IssuesMark McCall
 
Reliance 2013 Brochure
Reliance 2013 BrochureReliance 2013 Brochure
Reliance 2013 Brochurepcochran
 
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 ApplicationsPatrick Viafore
 
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 AsCodeHaja 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 DataPhil 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 editionAlex 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 editionAlex 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 MicroservicesBora 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 EconomyAmazon 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 editionAlex 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 ParisAysun Akarsu
 
BigWP: Delivering the news over HTTPS
BigWP: Delivering the news over HTTPSBigWP: Delivering the news over HTTPS
BigWP: Delivering the news over HTTPSPaul 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.pdfSrushith Repakula
 
Timelines at scale
Timelines at scaleTimelines at scale
Timelines at scaleViet 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 ScaleMariano Amartino
 
Building Serverless applications with Python
Building Serverless applications with PythonBuilding Serverless applications with Python
Building Serverless applications with PythonAndrii Soldatenko
 
Twitter API 2.0
Twitter API 2.0Twitter API 2.0
Twitter API 2.0Alex 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 2017Matt 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 ArchitectureMichael Zhang
 
2014 GITC 帶上數據去創業 talkingdata—高铎
 2014 GITC 帶上數據去創業 talkingdata—高铎 2014 GITC 帶上數據去創業 talkingdata—高铎
2014 GITC 帶上數據去創業 talkingdata—高铎Michael Zhang
 
Fastsocket Linxiaofeng
Fastsocket LinxiaofengFastsocket Linxiaofeng
Fastsocket LinxiaofengMichael 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 opsMichael 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_reportMichael Zhang
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and HadoopMichael 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 methodologyMichael 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

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

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