read to write ratio is about 50 to 21 for posts and comments, two times the reads
QPS is about 600.
Storage is
Bandwidth is
GET /posts/{post_id}
QUERY/POST /posts {ids: [...]}
PATCH /posts/{post_id}, body: {title, text, img_id, vote_id}
PUT /posts, body: {title, text}
GET /posts/{post_id}/comments
GET /comments/{comment_id}
PUT /comments, body: {post_id, parent_id, text}
PATCH /comments/{comment_id}, body: {text}
GET /feed/{cursor}
PUT /image/ {metadata}
PUT /image/{id}/file
GET /voting/{id}
PUT /voting/ {title, text, options}
PUT /voting/{id}/vote
GET /community/{id} -> {post_ids}
PUT /community/, {name, description, slug}
Describe the overall system architecture. Identify the main components needed to solve the problem end-to-end. Use the diagramming tool to create a block diagram.
Posts
id
title
text
voting_id
Comments
images
Communities
Votings
Votes
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.