3 ms·
Not really. Twitter is really a very simple messaging system with messages being public. If you take some pub sub like Kafka, Nats or RabbitMQ and bolt some co
by DeathArrow 4y ago
Not really. Twitter is really a very simple messaging system with messages being public.
If you take some pub sub like Kafka, Nats or RabbitMQ and bolt some code into it, it really is trivial. You scale by using Kubernetes for services and by sharding and replicating the DBs. It's really easy these days.
Maybe it was more complicated in 20 years ago.
- rl1987 4y agoThis is pretty much like saying that Dropbox can be trivially replicated with rsync(1) or that one can code Uber in a weekend. Perhaps you can do so at small scale for yourself and your friends. The essence of Twitter (or Dropbox, or Uber) is indeed quite simple. However there's orders of magnitude more effort that goes into: * Usability * Performance * Stability * Security * Localisation/internationalisation and accounting for cultural differences * Monetisation - ads, payment platform integration, fighting fraud * Fighting abuse, both automated and not * ... and thousands of little things that will come up when building something big. Think of this another way... Twitter would not employ literally thousands of employees if there was nothing for them to do. It is not a charity. I don't buy that building anything that can handle hundred of millions of users is simple.
- mousetree 4y agoThese are all valid points but none speak to GP's comment that the scale aspect is no longer as difficult to solve.
- rl1987 4y agoOne can say that aforementioned classes of problems are semantically, conceptually different from scalability, but they will inevitably come up when building something the scale of Twitter and will require mountains of technical work to deal with.