Stack Overflow Archietecture - rnakidi/dsa GitHub Wiki

How will you design the Stack Overflow website? If your answer is on-premise servers and monolith (on the right), you would likely fail the interview, but that's how it is built in reality!

What people think it should look like The interviewer is probably expecting something on the left side.

  1. Microservice is used to decompose the system into small components.
  2. Each service has its own database. Use cache heavily.
  3. The service is sharded.
  4. The services talk to each other asynchronously through message queues.
  5. The service is implemented using Event Sourcing with CQRS.
  6. Showing off knowledge in distributed systems such as eventual consistency, CAP theorem, etc.

What it actually is Stack Overflow serves all the traffic with only 9 on-premise web servers, and itโ€™s on monolith! It has its own servers and does not run on the cloud.

This is contrary to all our popular beliefs these days.

Over to you: what is good architecture, the one that looks fancy during the interview or the one that works in reality?

image

Source/Credit: https://www.linkedin.com/posts/alexxubyte_systemdesign-coding-interviewtips-activity-7278450948560093184-WLqt?utm_source=share&utm_medium=member_desktop