How to Do Distributed Locking (2016)
martin.kleppmann.com
martin.kleppmann.com
[1] https://github.com/awslabs/dynamodb-lock-client> Conclusion - I think the Redlock algorithm is a poor choice...
"If you need locks only on a best-effort basis (as an efficiency optimization, not for correctness), I would recommend sticking with the straightforward single-node locking algorithm for Redis (conditional set-if-not-exists to obtain a lock, atomic delete-if-value-matches to release a lock), and documenting very clearly in your code that the locks are only approximate and may occasionally fail."