Sunday, August 11, 2019

Scaling Memcache at Facebook

Here is the link.

The speaker's linkedin profile is here.


Infrastructure requirements for Facebook
1. near real-time communication
2. Aggregate content on-the-fly from multiple sources
3. Be able to access and update very popular shared content
4. Scale to process millions of user requests per second

Design requirements

Support a very heavy read load
  over 1 billion reads/ second
 insulate backend services from high read rates

Geographically Distributed

memcached

Basic building block for a distributed key-value store for Facebook
 Trillions of items
Billions of requests/second
Network attached in-memory hash table
  Supports LRU based eviction

Roadmap

1. Single front-end cluster
  .Read heavy workload
  .Wide fanout
  . Handling failures
2. Multiple front-end clusters
. Controlling data replication
. Data consistency
3. Multiple regions
 . Data consistency

Why Separate Cache?
High fanout and multiple rounds of data fetching
Data dependency DAG for a small request

Need more read capacity

Problems with look-aside caching
Stale sets

Thundering Herds

Incast congestion





No comments:

Post a Comment