How to Implement a Distributed Bulkhead
A concurrency limit is easy inside one process and a distributed-systems problem once it is shared. Permits, leases, renewal, ownership and the guarantees a shared limit can honestly make, with a working Redis implementation.