Horizontal vs Vertical Scaling Explained
When a system needs more capacity, there are exactly two ways to get it: make the machine you have bigger, or add more machines. Most real systems end up doing both — just not at the same time.
The recurring either/or decisions in system design.
View All TagsWhen a system needs more capacity, there are exactly two ways to get it: make the machine you have bigger, or add more machines. Most real systems end up doing both — just not at the same time.
Where does a server keep what it knows about a client between one request and the next? The answer to that one question decides how easily the whole system scales.
Every write to a replicated system eventually has to answer one question: does the caller wait for every copy to agree before we call it done, or do we acknowledge fast and let the copies catch up on their own time?
Long polling vs. WebSockets, push vs. pull, message queues vs. direct calls — nearly every specific communication tradeoff in system design is really this one underlying decision, applied to a particular piece of a system.