External:
Comments Table (NoSQL):
Client sends request that goes through load balancer -> Standard round robin should be fine
Establish websocket connection for users that are replying to each other
Serverside POST: add comment to comments table
Serverside GET: query all comments with same parentCommentID fromDB
Client request -> Load Balancer -> Websocket -> Serverside logic described in High-level design -> Database
Backend GET to get all comments ordered by DateTime
Backend POST will update DB and then send a GET request to get all comments and send to user
86.4MB per day doesn't seem too bad but if we need to eventually scale then we can horizontally scale the Databases by sharding the DB
In this case I think sharding by commentID range would be fine, not much more metadata to shard by