Live data from Hacker News

How Discord Stores Billions of Messages (2017)

blog.discord.com

121–130 of 377 posts

Re: How Discord Stores Billions of Messages (2017)

#121

TFA states: > we knew we were not going to use MongoDB sharding because it is complicated to use and not known for stability But then goes on to describe using Cassandra and overcoming sharding and stability issues. I.e., changing the key, changing TTL knobs, adding anti-entropy sweepers, and considering switching to a different cassandra impl entirely. Are these issues significantly harder to solve in MongoDB than C…

Its hard to say because they're not explicit about this but, despite being a decade-long Mongo apologist myself, I'd totally believe that they liked the linear scale story for Cassandra more from an infrastructure/config perspective.

Increasing top-end write throughput or replication in Cassandra is just adding more nodes, where in Mongo its not just adding nodes, its adding replica sets (which consist of 3 or more nodes). So there's a few more layers of complexity to that story. You need more replica sets to increase write throughput and need more nodes in replica sets to increase replication.

Im hand waving some details here, but I've worked with both platforms can definitely understand the choice at least from a pure infra lens.

Re: How Discord Stores Billions of Messages (2017)

#122
post #82

Earlier quoted context omitted.

Honestly, I find discord super frustrating. Can't have multiple chats open at the same time, can't close the right rail, etc. It's UX is subpar in almost every way that matters to me. I use it because _everyone_ uses it, not because I want to.

I can't think of many reasons Discord "ate the whole market" besides smart marketing, honestly. It does audio rooms incredibly well, but everything else (even their developer support team) is just terrible.

Everything else was/is much worse.

Even years later it's still the only platform I know of that combines text chat rooms, voice chat rooms, and video streaming into one place, all accessible from your 'server' as they call it.

It also has clients for many platforms, including a web client, all of which look and function the same.

Any alternative out there does one of those things decently well, but either completely lacks or is utterly awful at the other things.

Re: How Discord Stores Billions of Messages (2017)

#123

This is like a masterclass in how to answer system design questions. Maybe a bit verbose. They cover requirements, how to answer those requirements, relevant tech for the problem, implementation, and techniques for maintenance

Are you saying that one person, without consulting other engineers, or having to do any research, made this decision in less than a day? Because I have some bad news for you. The sentiment you express here is why interviewing is so shit these days.

Are you replying to the right comment?

Re: How Discord Stores Billions of Messages (2017)

#124
post #82

Earlier quoted context omitted.

I can't think of many reasons Discord "ate the whole market" besides smart marketing, honestly. It does audio rooms incredibly well, but everything else (even their developer support team) is just terrible.

Discord ate the market because it is free and good enough voice quality. Before that everyone was paying for voice server hosting or doing it themselves. Is that smart marketing or just the standard operating procedure for startups around that time?

Technically Skype existed but lost with the new sms-looking ui that everyone hated and it was hardly suitable for anything larger than a friend group. Then there were long-standing issues of voice chats being P2P and thus allowing users to find the IP of other users, enabling DDOS attacks on routers.

Re: How Discord Stores Billions of Messages (2017)

#125
post #37

Earlier quoted context omitted.

It works nice and is free, but for how long? How long can they keep paying for that bandwidth and message data storage while keeping the thing essentially free?

Nitro pulls $10/mo and has enough benefits that a lot of people pay. Plus server boosts. I bet that they have good cash flow.

I pay for nitro, I don't use discord non stop but it's great for a bunch of niche channels i'm on. I'm happy to pay $10 to a platform that makes it easier for me to find information and I know a bunch of my colleagues pay as well. All in we still support individual projects as well but truthfully it's the cost of a beer a month.

Re: How Discord Stores Billions of Messages (2017)

#126
post #63

Earlier quoted context omitted.

That's weird. Do you have a link to the job posting?

I believe it was this one: https://discord.com/jobs/4004051002 I see a couple of Storage Engineer job links below, I should apply to one of those too... :)

Ah yeah, just tested it and it says "IF APPLICABLE, WOULD YOU BE WILLING TO RELOCATE TO DISCORD'S SF HQ? WHILE DISCORD IS EMBRACING A HYBRID REMOTE APPROACH GOING FORWARD, SOME ROLES WILL REMAIN HQ-BASED."

It is not applicable for that role. It is not applicable for most (maybe all) engineering roles.

Re: How Discord Stores Billions of Messages (2017)

#127
post #30

Earlier quoted context omitted.

I've also noticed that in a lot of tech-related social circles people are increasingly choosing Discord over Slack. That's a trend I totally didn't expect: at least until a few years ago it was clear that Discord was for gamers and Slack was for work and everyone else. That changed quickly. Impressive indeed!

Slack uses a language that is like markdown, but is not markdown, which is annoying for engineers. Slack does not support syntax highlighting of code blocks. Discord uses proper markdown and supports syntax highlighting. These are two things that make me think Discord is better specifically for engineers, aside from it just being generally way better.

> Discord uses proper markdown

Not even remotely.

Discord supports:

* fenced code blocks (but not indentation)

* quoting, a single level (nested quotes don't work, properly replying to other comments is painful)

* inline decorations (italics, bold, underline, strikethrough, code)

* inline spoilers (an extension)

* disabling autolinking (an other extension)

It doesn't support: headings, paragraphs, lists (ordered or not), labelled links, tables, images, footnotes, images (you can only use the image upload feature which puts a single image below a comment).

It also has a limit to 2000 char (4000 with nitro), which can be rather low when posting code snippets.

Re: How Discord Stores Billions of Messages (2017)

#129
post #82

Earlier quoted context omitted.

Honestly, I find discord super frustrating. Can't have multiple chats open at the same time, can't close the right rail, etc. It's UX is subpar in almost every way that matters to me. I use it because _everyone_ uses it, not because I want to.

I can't think of many reasons Discord "ate the whole market" besides smart marketing, honestly. It does audio rooms incredibly well, but everything else (even their developer support team) is just terrible.

Their moderation and community management tools are fantastic.

Re: How Discord Stores Billions of Messages (2017)

#130
post #30

Earlier quoted context omitted.

I've also noticed that in a lot of tech-related social circles people are increasingly choosing Discord over Slack. That's a trend I totally didn't expect: at least until a few years ago it was clear that Discord was for gamers and Slack was for work and everyone else. That changed quickly. Impressive indeed!

Well, slack is extremely expensive IMO, so I'm not surprised

Yeah I always thought Slack is explicitly intended for Real Work and not much else (pay per user!), so it's pretty natural that Discord took over.
Post reply on HN