Hacker News new | ask | show | jobs
by ksec 1315 days ago
That is the same analogy as Wordpress being scalable because it runs a third of the web or Ruby Rails because it is being used in Shopify.

I am not a Discord expert, but AFAIK, all three are similar in that they run their own instances. A Wordpress with App and DB per site, and I assume mostly similar to a Shopify Store, and every Discord Server where each and every instances of them aren't interconnected.

Twitter is one giant space with the Top 50 account each having a reach of over 40M users.

And for another point of comparison. Twitter has ~250M Global DAU over dozen of time zones. Weibo in China has similar DAU in a single time zone.

1 comments

No, it isn't the same as Wordpress. For Wordpress, a ton of instances are self-hosted. For Discord, there are exactly zero self-hosted instances. Every single discord channel, message, and user interaction goes through Discord servers. It is a single giant space.
The ownership is besides the point here. The point is the Wordpress installs don't talk to each other, neither do Discord servers, behind the scenes. Discord's servers aren't one giant big powerful computer, it's a lot of smaller ones. Behind the scenes, each Discord "server" exists separate from all the rest of them. After the load balancer, the StableDiffusion Discord messages don't intermix with the Midjourney Discord messages, so their internal architecture can be that each "Discord server" is self-contained to it's own group of servers that don't talk to other servers. (Discord's decision to call them servers here is really unfortunate and confusing.)

This means that for scalability reasons, it's easy to create a new "Discord server" as it only has to be connected to the other people on that server, and not the whole rest of the Discordverse.

Twitter has no such luxury. So when that one cat video goes hella viral, the system as a whole needs to handle that access pattern, which is actually difficult to scale. We'll have to wait and see how the site handles the world cup in a few weeks, as that is an event that stresses the service.

But they are their own Discord Server instances right? A Discord Server for Ruby has zero interaction with a Discord Server on Gaming or Politics.
If I block someone on one server, they are blocked on all servers for me. If some server I am in has custom emojis and stickers, and I am a discord nitro subscriber, I can reuse those emojis and stickers by posting them on other servers. Other users on that other server can see them, but cannot use them. If i change anything on my profile, it will be reflected on all servers.

There are probably tons of other cross-server relationships that I forgot to mention, simply because I only listed the first few that came to my head.