3 ms·
Are you implying that Signal wouldn't be having scaling issues had it been written in Erlang instead of Java? An obvious reason why any project picks a more po
by elric 6y ago
Are you implying that Signal wouldn't be having scaling issues had it been written in Erlang instead of Java?
An obvious reason why any project picks a more popular language over an obscure language is the number of engineers comfortable with that language.
- danielscrubs 6y agoI think what was cool with WhatsApp was just how few engineers was necessary to scale well. I would guess Signal has enough money to throw around that having Java is a better deal, making the buss factor bigger and such.
- wahern 6y ago> I think what was cool with WhatsApp was just how few engineers was necessary to scale well. Probably because they started out using ejabberd, a very mature and widely deployed XMPP implementation.
- abernard1 6y agoThis is an odd take to me. It is common for a JVM app on a single box to process >100K messages a second with an eventing system. It is not as common, but relatively normal, to process >1M per node. With the cost of hardware, a company is usually "throwing around" money on maintainability of a much less supported runtime. Engineering time of something like JVM vs Erlang is much more substantial of a cost.
- danielscrubs 6y agoSignal just sent a Twitter message that Signal is back after technical difficulties. So maintainability might be up for discussion...
- Chyzwar 6y agoI worked once in a system that was sending messages to via message queue to Java based service. We once send 60k messages and a Java based system failed to process these over the whole night. Java have a high ceiling for writing high performance systems but in practice it is easy to make a massive ball of mug that performs extremely poorly. In many cases it is easier to write fast erlang/elxir/node application.
- stanislavb 6y agoIt’s possible. I wrote a service in Elixir processing every message posted on Reddit and HackerNews almost in real-time. The $5 VPS was loaded 5-10% most of the time. The Erlang runtime is more efficient than one imagines.
- deleted 6y ago[deleted]
- neduma 6y agoHi Stanislavb - Care to elaborate more?
- tasogare 6y agoErlang is not an "obscure language" for that use case. It’s also a good way to filter developers and pre-select the ones being skilled about the domain problem.
- ksec 6y agoErlang was literally made for this job. WhatsApp managed to scaled to 500M user with only dozens of Servers that were using 2010 Tech. Scaling issues in FreeBSD, Linux and BEAM VM were all upstreamed. When people say something wont Scale, it implies Scaling "x" cost more than "y". In which case I dont doubt Erlang is better here. I seriously doubt Engineers were an issue. I mean they had a team of 3x when they reached 500M user. That is including Engineers on both iOS and Android Clients.