1. Building Applications for the Cloud
G A M I N G A P P S O N F A C E B O O K A N D
Z E M B L Y P L A T F O R M -
M Y P I C K S : P R E D I C T T H E W I N N E R S A T
O L Y M P I C S
Copyright (c) 2009, Pramati Technologies Private Limited. Imaginea is a Pramati business.
All trade names and trade marks are owned by their respective owners 11/4/2009 1
2. MyPicks architecture
We
b
We M S
LB
b
We S
b User
Shard 1
M S M
Shard
Lookup
DB We
LB b S
We M S Friends
b DB
We
b User
Shard 2
S3
Result
Processor
3. MyPicks architecture notes
• User DB is sharded (with hot standby)
• We used lookup table for sharding
– Cached in memory instead of memcached
– 10MB cache size for million users
– Sharding logic plugged-in as NodeChooser in Pramati
Web Loadbalancer
• Friends DB uses replication instead of Map-Reduce
• Attaching the webservers to a shard reduces the
number of connections to the User DB