Comments (4)
While Antirez has shown himself to be an excellent C programmer, he's a poor distributed system engineer. Martin Kleppmann is a distributed system researcher at Cambridge. I'm likely to trust his analysis more.
from dsync.
http://antirez.com/news/101 - looks like the jury is out there?
from dsync.
Another common way to implement distributed lock is to simply use Lease.
Xtreemfs use the FLease algorithm that is a Lease built on top of Paxos register: http://www.xtreemfs.org/publications/flease_paper_ipdps.pdf
The main difference I see is that stale lock are automatically released if the server can't renew the lease in time. Also the state change is linearizable and crash resistant.
from dsync.
We are not "recommending" redislock, it is just another approach that may work for some in some cases and not in other cases.
It is not meant to be a conclusive list, for sure there will be other approaches as well.
from dsync.
Related Issues (11)
- tests: go test -race reports races. HOT 1
- Add profiling support for dsync HOT 1
- Scalability (curiosity) HOT 3
- Typo in Motivation section for minio server command line HOT 1
- Fix all golint issues on dsync HOT 7
- dsync: chaos test fails with "Timed out" HOT 1
- Is there any support for Async / callback instead of blocking to acquire lock ? HOT 2
- Go module: github.com/minio/dsync/[email protected]: go.mod has non-.../v2 module path "github.com/minio/dsync" (and .../v2/go.mod does not exist) at revision v2.0.0 HOT 1
- Update documentation HOT 2
- Sending unlock messages in a go-routine makes ``DRWMutex.[R]Lock()`` racy HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dsync.