Glad to see more Erlang/Elixir/OTP articles on HN. With all these newfangled cool kid concurrent languages, people seem to have forgotten the sophisticated, decades old solution. Funny to think telecoms were solving a lot of the same problems web devs are now (High Availability, Low Latency, Fault Tolerance, large amounts of concurrent connections).
The funny thing is that most people choose Elixir over Erlang because of the syntax - personally I can't stand Ruby but love the Erlang syntax. When I see Erlang code, everything just clicks - almost like I'm reading prose.<p>So, if you want to harvest the power of Erlang, I'd suggest you start with the real thing first. The only drawback is that once you get used to functional programming, guards, pattern matching, OTP, cheap processes, links and all the other goodness, there's no way back.<p>If you still feel Erlang is weird after spending a couple of days working with it, feel free to jump on the Elixir bandwagon. :)
I only skimmed so far, but you might want to checkout Ranch instead of rolling your own tcp acceptor pool, <a href="http://ninenines.eu/docs/en/ranch/HEAD/guide/" rel="nofollow">http://ninenines.eu/docs/en/ranch/HEAD/guide/</a>
This seems pretty neat but what advantage does this have compared to terminating SSL at nginx? I guess you still need to have something that nginx can hand the connections off to.
Oooh, I didn't even know this existed. I've always been curious about learning Erlang, but I'm always suspicious of languages that predate the vowel generation.