Skip to content

Design Discord's Message Storage, stage 1 of 9: model

What the numbers say

Use 86,400 seconds in a day. Messages are about 1 KB.

System so far· 4 parts
1234CLIENTMembersSERVICEAPI serversSERVICEGatewaySERVICEMessagedata service

Select a component to see what it is responsible for and which state it owns.

  1. 1Members → API servers: Send, load history, jump
  2. 2API servers → Gateway: New message event
  3. 3Gateway → Members: Push to online members
  4. 4API servers → Message data service: Query by channel (hash-routed)
  • Request / response
  • Asynchronous
  • Server push

What you need to know

0 of 3 checks done
  1. Work it out

    120 million messages a day. About how many writes a second on average?
    per second