3 ms·
Still a recommended book if you need to handle Erlang systems. Either as a developer or as an operator. * Still good if you work with Elixir * Good if you hav
by jlouis 9y ago
Still a recommended book if you need to handle Erlang systems. Either as a developer or as an operator.
* Still good if you work with Elixir
* Good if you have, say, RabbitMQ or Riak in your stack
* Fred knows his stuff.
- zzzcpan 9y agoEven if you don't need to handle Erlang systems, there is still enough to learn if you need to build reliable systems.
- sotojuan 9y agoMost great Erlang resources, like this and Designing for Scalability, are very much recommended for Elixir programmers. It'd be a shame for them to disregard some of the best OTP resources just because they're in Erlang.
- s_kilk 9y agoJust a quick +1 for "Designing for Scalability", as an avid Elixir programmer. It's a great book on the Erlang/OTP fundamentals which underlie Elixir and Phoenix.
- polack 9y agoI'm going to go against the stream an say -1 on "Designing for Scalability". Not that it isn't a good book, but the title doesn't really reflect the contents. It's more of a beginners book on Erlang/OTP than of scalability.
- derefr 9y agoDo you have a recommendation for a more advanced book on that particular topic? I'd also love to see something from the other angle: taking a program that's already an instantiation of a complex, distributed architecture, written in e.g. C, and then rewriting it in idiomatic Erlang (or Elixir—especially with GenStage/Flow stuff) to reduce its code size while retaining the same distributed-system properties as its ancestor system.
- rdtsc 9y agoAgreed. Remsh and recon are tools I use almost every day. Chapter 3 planning for overload is useful in general not just for Erlang systems, and is something that is not given enough consideration usually.
- mononcqc 9y agoI've since written a fairly complete blog post only on overload management of asynchronous systems at https://ferd.ca/handling-overload.html https://ferd.ca/handling-overload.html -- it hasn't made it in the book, though.
- davidw 9y agoWow, wonderful post that I hadn't read yet. In particular the 'fuse' type stuff is really important when you have a real world system where "let it crash!" is not really ok, because you have, say, a user interface, or a web server that should not be part of everything just crashing. In particular, something I've seen: if your Erlang application talks to a database, and the database goes down for some reason, it may be desirable to have the whole application not go down with it! Thank you!