News for hackers. Stuff that matters.
Re:How Discord Scaled Elixir to 5M Concurrent Users (2017) by eric_khun on Sunday February 24, 2019 @09:49AM (#19238729)
Is the ETS cache system can be used by something else than elixir?
Re:How Discord Scaled Elixir to 5M Concurrent Users (2017) by toast0 on Monday February 25, 2019 @02:02AM (#19243624)
ETS is basically a key value store with optional sorting, multiple values, limited atomic updates, and a weird query language. I'm not sure how well it compares to other key value stores, but it's main differentiator is that it stores Erlang native types without a significant marshalling burden (at least for the developer -- if you store complex values, it's still plenty of work for the runtime). It wouldn't be a lot of work to build an Erlang service to expose ETS to something else, but I don't know that the data marshalling required would be worth it.

More interesting might be to expose mnesia, maybe. But even then, it might be most useful to build out your data handling in Erlang and expose a higher level API for clients in other languages.

Re:How Discord Scaled Elixir to 5M Concurrent Users (2017) by jimmy_ruska on Sunday February 24, 2019 @10:23AM (#19238872)
When you have an erlang distributed app and need caching without having the overhead of converting erlang terms then ETS is the best solution. That's not to say you would want to use ETS instead of redis from a java app.