Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Discord Blog

    blog.discordapp.com · Company blog · on HN since 2016

    Discord's engineers describe how they scale the service, covering Elixir, Rust, Cassandra, Elasticsearch, WebRTC, React, and Android rendering.

    Visit blogHN submissions
    Distributed SystemsSystems & PerformanceDatabases
    What HN says

    Commenters call these fantastic dev blogs and cite the Rust and Elixir scaling and the Cassandra message storage posts.

    Stats for nerds
    79HN people shared it
    44linked in comments
    6.1Kstory points
    Sep 2020last shared
    2016people per year2020

    Top posts on HN

    1. 1
      Why Discord is switching from Go to Rust
      2 people · 1.6K points · first shared 2020 · 640 comments on HN
    2. 2
      How Discord Scaled Elixir to 5M Concurrent Users
      14 people · 1.3K points · first shared 2017 · 251 comments on HN
    3. 3
      How Discord Handles Two and Half Million Concurrent Voice Users Using WebRTC
      4 people · 649 points · first shared 2018 · 244 comments on HN
    4. 4
      Using Rust to Scale Elixir for 11M Concurrent Users
      7 people · 460 points · first shared 2019 · 65 comments on HN
    5. 5
      How Discord Stores Billions of Messages Using Cassandra
      9 people · 439 points · first shared 2017 · 155 comments on HN
    6. 6
      How Discord Indexes Billions of Messages Using Elasticsearch
      4 people · 340 points · first shared 2017 · 58 comments on HN
    7. 7
      How Discord Resizes 150M Images Every Day with Go and C++
      1 person · 303 points · first shared 2017 · 145 comments on HN
    8. 8
      Why Discord Is Sticking with React Native
      3 people · 278 points · first shared 2018 · 154 comments on HN
    9. 9
      How Discord achieves native iOS performance with React Native
      2 people · 256 points · first shared 2019 · 114 comments on HN
    10. 10
      Lessons from migrating a large codebase to React 16
      4 people · 180 points · first shared 2017 · 78 comments on HN

    What HN people wrote when they linked it

    • LinuxBenderFeb 2018

      Disclaimer: Using the following methods could be seen as bypassing the intent of the port restrictions set by your org.

      I commit to github using ssh on port 443.

      # git remote set-url origin git@<host-in-ssh-config>:<username>/<repo>

      From ~/.ssh/config

      Hostname ssh.github.com
      Port 443
      User git
      IdentityFile ~/.ssh/.github

      Consider using Dovecot on your mail server for port 443. I was not aware that Discord stopped supporting websockets over 443. I run my own Mumble voice chat server so I can put it on 443, but I understand people have a lot of friends on Discord. I am just not happy with their chat logging policy [0].

      You could also run a proxy or VPN on port 443. You can also use sslh [1] to have SSH+SSL+Proxy+VPN all on the same port 443. You can do similar things using HAProxy + SNI + SSL, but that is a bigger subject.

      For other things that must use other ports or protocols, you can sometimes wrap them using tsocks [2] in your VPN or SSH tunnels to port 443.

      [0] - https://blog.discordapp.com/how-discord-stores-billions-of-messages-7fa6ec7ee4c7

      [1] - https://github.com/yrutschle/sslh

      [2] - https://www.redpill-linpro.com/sysadvent/2015/12/13/socks-proxy-as-poor-mans-vpn.html

    • nameloswJun 2019

      It's interesting to compare Slack's tech stack vs Discord. The tech stack of slack is pretty common, while the tech stack of Discord is very geeky: Elixir/Rust + Cassandra for crazy high concurrency, and React/React Native for fast developing and consistent experience.

      Like LAMP for Slack, Discord also used MongoDB prototyping in the first few years, but while they prototyping they prototype in a manner they can easily migrate to Cassandra later. Then they successfully migrated to Cassandra. This is brilliant.

      I remember the React community migrated from Slack to Discord[0], I guess one of the reason could be the performance. According to the blog, at that time the team only have "14 people full time", which means they've got a very high velocity, amazing.

      I didn't find any summary of their whole tech stack but there are several insightful articles from their blog like[1].

      [0] https://reactjs.org/blog/2015/10/19/reactiflux-is-moving-to-discord.html

      [1] https://blog.discordapp.com/how-discord-stores-billions-of-messages-7fa6ec7ee4c7

    • dohAug 2019

      WhatsApp stored no data and ran everything as through service, that's why they did it with so few engineers.

      Almost no games ever reach scale close to what you just wrote. The few that do are known with large technical teams.

      Same goes to everything else. The reason why you can name them almost all is because it's so rare.

      You are grossly overblowing the numbers. Only a very few services ever get to these numbers and once they do, they talk about the challenges of scale constantly [0] [1] [2]

      [0] https://blog.discordapp.com/using-rust-to-scale-elixir-for-11-million-concurrent-users-c6f19fc029d3

      [1] https://blog.roblox.com/2012/04/supporting-millions-of-players-at-roblox/

      [2] http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html

    • coldteaMar 2019

      >How do you make optimal use of a computer's memory hierarchy?

      Apparently more easily, with a faster time to market, and with less errors than alternative languages. E.g:

      https://blog.discordapp.com/scaling-elixir-f9b8e1e7c29b

      https://www.wired.com/2015/09/whatsapp-serves-900-million-users-50-engineers/

      But the idea is not that you as the end programmer "make optimal use of a computer's memory hierarchy".

      It's that you write in a way that makes it easy for the runtime to ensure what you do is solid and correct and scalable -- and it's up for the runtime makers to make sure it makes optimal use of the computer's memory hierarchy.

      And it's also that you sacrifice some of that "optimal use", to get the "solid and correct and scalable" part.

    • SikulOct 2018

      Discord | Senior Engineers | San Francisco | ONSITE

      Discord is building a platform dedicated to connecting people through games. We grew from 45 million to 150 million users in the last year. We have over 20 million daily active users and that number is growing every day. Discord is just 3 years old.

      We're hiring senior engineers in the key roles of backend, native, data science, and data infrastructure. Join an amazing team solving interesting scaling problems and creating next generation features. https://discordapp.com/jobs

      Tech: Rust, Elixir/Erlang, React, Javascript, Python, Go, C++, Cassandra, GCP

      Engineering blog: https://blog.discordapp.com/tagged/engineering

      Feel free to message us directly at jobs@discordapp.com.

    • dyejeJan 2020

      They were announced within months of each other [1][2]. That means both companies were planning their stores at the same time. I find it hard to believe Discord did not have any idea about Epic's store, considering they were simultaneously raising a funding round and talking to VCs about their plans (who you would think would be aware of Epic's move). I suppose it's possible Epic played their cards close to the chest though.

      [1] Discord Announcement https://blog.discordapp.com/the-discord-store-beta-9a35596fdd4

      [2] Epic Announcement https://www.unrealengine.com/en-US/blog/announcing-the-epic-games-store

    Related

    Stressgrid Blogstressgrid.com28 people

    Achieving 100k connections per second with Elixir

    Stressgrid Blog
    Company · last shared 2025
    Instagram Engineeringinstagram-engineering.com141 people

    Python at Scale: Strict Modules

    Instagram Engineering
    Company · last shared 2025
    Twitch Engineering Blogblog.twitch.tv178 people

    Go’s march to low-latency GC

    Twitch Engineering Blog
    Company · last shared 2026
    ScyllaDB Blogscylladb.com167 people

    How io_uring and eBPF Will Revolutionize Programming in Linux

    ScyllaDB Blog
    Company · last shared 2026
    Datadog Blogdatadoghq.com262 people

    Husky, Datadog's Third-Generation Event Store

    Datadog Blog
    Company · last shared 2026
    Rust Blogblog.rust-lang.org533 people

    Announcing Rust 1.0

    Rust Blog
    Company · last shared 2026
    Figma Blogfigma.com608 people

    How to build a plugin system on the web and also sleep well at night

    Figma Blog
    Company · last shared 2026
    High Scalabilityhighscalability.com922 people

    A Beginner's Guide to Scaling to 11M+ Users on Amazon's AWS

    High Scalability
    Publication · last shared 2026