Saša Jurić's Solid Ground talk is a lovely demonstration of Elixir's processes: https://www.youtube.com/watch?v=pO4_Wlq8JeI
(Saša is also the author of Elixir in Action; a highly recommend read once you have your head around Elixir's fundamentals.)
Re:Elixir multiple processes: Basics
by sbuttgereit on Monday December 18, 2017 @03:51PM
(#15955383)
Yep, that's one of the Elixir books I've read. Agree that it's pretty good. Thanks for the tip to the video.
Re:Elixir multiple processes: Basics
by sbuttgereit on Monday December 18, 2017 @12:50PM
(#15953564)
FYI... I think that https://news.ycombinator.com/item?id=15952005 give a more complete and rounded answer in many ways, definitely worth a look.
Erlang/Elixir also seems to have one of the strongest availability and concurrency stories out there on its own. Part of this comes from the aforementioned built in assumptions around isolating and managing failed processes, but the other is in terms of the relative ease of starting processes as needed, and accessing the processes of other Erlang VMs (same server or not). It's clear you have to architect and build things correctly to take full advantage of these capabilities, but I think you can get to the place you describe without necessarily taking on a bundle of different applications for different purposes.
For example, for many of the use cases I think of Redis, Erlang offers a number of different ways to deal with such task out of the box: https://blog.codeship.com/elixir-ets-vs-redis/ Again, you have to think about how you architect things, but you can use the same toolbox for much of the work.
I'm still new to Elixir/Erlang, but I've been studying capabilities and architecture for several months now. I think there are sufficient differences in Erlang's approach as compared to other more common stacks that it really does benefit one to come at it fresh and not make very many comparative assumptions. In my own learning I've found that to just get the basic feel for what this Erlang/Elixir animal really is, that the Elixir side is more approachable. The documentation tends to be a little more direct and tends to be more beginner friendly. After I got the very basics down, I was able to look at the Erlang side and understand really what they were trying to say.