Hacker News new | ask | show | jobs
by kapso 5426 days ago
Yea try scaling a legacy client server application. And you will know why its dead.
1 comments

Depending on your definition of legacy, your argument is either incorrect or invalid.

Case 0: Legacy means "unscalable". Argument cannot be used to evaluate the scalability of client-server models.

Case 1: Legacy means "old or crufty". Successfully scaled legacy client-server software includes SMTP, IRC, NTP, NNTP, HTTP, MySQL, Oracle, etc, and to some extent, IP itself. Not to mention in-house systems like credit-card processing.

Client-server architectures are immensely popular, perfectly capable of scaling to high volumes, and used widely because they are easy to reason about and secure.

Indeed, if you've spent any time working on distributed systems, you might realize that scaling fully connected or peer-to-peer systems tends be harder than client-server. Take a look, for example, at the horrifying complexity of distributed agreement protocols like Paxos.

I'm guessing your statement is due not to horrifying stupidity, but some sort of confusion over what constitutes "client server software". Perhaps http://en.wikipedia.org/wiki/Client%E2%80%93server_model would be helpful.