An obvious reason why any project picks a more popular language over an obscure language is the number of engineers comfortable with that language.
An obvious reason why any project picks a more popular language over an obscure language is the number of engineers comfortable with that language.
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.
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.
So maintainability might be up for discussion...
Probably because they started out using ejabberd, a very mature and widely deployed XMPP implementation.
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.