Earlier quoted context omitted.
That's not an inherent property of a particular language or concurrency model, though. That's having logic to track request queue depth for a particular service or endpoint and fail fast/load shed. You can do the same in Ruby! Some would probably say this is what a service mesh is for. Maybe you're thinking of the new Actor based model for compute parallelism? Async IO in production Ruby has been a thing for easily m…
Of course it is not an inherent property of a particular language or concurrency model, but it is a property of a particular language ecosystem . As a turing complete language, everything is doable in ruby, but at what cost? Now we are back to trade-offs I listed above. As for async IO in production, looking at the client library, https://github.com/socketry/async-http is barely 3 years old, and probably reached the…
If you're using Unicorn then you've already got Raindrops which gives you a really simple way to do shared metrics across forked processes like in-flight requests to another service or how many of your Unicorns are busy.