~/talk

How WhatsApp moved 1.5B users across data centers

Talkat Code BEAM SF 2019 · 2019-02-28..03-01· [distributed-systems, databases]
links:none on file
slides:none on file

WhatsApp moves 1.5B users by replicating state to Facebook data centers, building a custom TCP protocol and a C++ gateway to talk to Facebook services, implementing Thrift on Erlang, and using a gen_factory with sticky queue scheduling. A pipeline of DB replay, DB switch and DB crawler makes repairs idempotent, rate‑limited, backoff‑aware and peer‑replicated. Country‑level read‑only windows let traffic cutover finish in under five minutes; no persistent data‑errors appear during the migration.

AI-written summary · about

  1. 0:00Intro
  2. 1:07Server Architecture
  3. 3:09Reasons to Migrate
  4. 4:50Migration Plan
  5. 10:40Migration Preparation
  6. 16:14What If an error happen? db replay
  7. 18:20What if too many errors happen? db_replay feedback
  8. 20:36What if a key is hot?
  9. 21:31What if repairs return error? db_replay backoff
  10. 23:27What if a node loses disk? db_replay replication
  11. 24:44What if db_queuer discarded? db dirty keys
  12. 26:08What if a node crashes? db dirty lag
  13. 27:26How to validate data? compare
  14. 28:32How to deal with flaky compare? db compare
  15. 29:39How to copy offline data?
  16. 30:14How to validate offline data?
  17. 30:58How to move users to the other side? db failover
  18. 33:34What's there on the other side? same thing!
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.