The built in ignite lock actually implements a mutex that provides serialized access to a resource. One construct I have found very powerful over several decades of building distributed systems is a read/write lock where concurrent reads are allowed but writes are serialized.
I can see how to build this using a cache except that I would need to release requests whenever a client session terminates without explicitly releasing any locks they hold or pending requests. -- Kathryn Hogg Principal Technology Architect