Action Cable is one of the most attractive new features in Rails 5. WebSockets out of the box—sounds pretty cool, doesn’t it? Or maybe the proper question is, “Is it really so good?”
Consider pros: easy configuration, application logic access through channels, JS client that just works. And what about the cons?
In my opinion, there is only one problem (despite bugs, of course)—Ruby itself, the language that I’m fond of, but I’m not considering it as a technology for writing scalable concurrent applications. At least, not yet.
That’s why I’m not going to use Action Cable in production.
Can we find a way out? Can we use the good parts of Action Cable with the power of Erlang/Golang/Whatever-you-like altogether?
My answer is, “Yes, we can.” And here comes AnyCable.
This presentation demonstrates the proof of concept, shows some benchmarks, and shares my thoughts about the future of the idea.