Integrate Raft library into a lock service #20069
-
Hello everybody! I'm writing my master's thesis on distributed consensus for lock services and would appreciate some thoughts on my design concept. |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 9 replies
-
I would not start from building your own lock service, maybe look at the existing options like As for picking raft library, while the etcd/Raft might be the most stable and popular in production due to etcd/Kubernetes popularity, it's not under active development. |
Beta Was this translation helpful? Give feedback.
-
Thank you for the advice! To add some context: I'm writing the thesis in my company and the task I was given is to take the lock service a senior engineer wrote and make it distributed (short version). So this is a hard requirement. The guy who developed the service says he tried Stable and popular sounds good for a library, but "easy to integrate" and "good performance" are valid criteria aswell - do you have any insights on which lib is most suitable here? I know I'm asking in an |
Beta Was this translation helpful? Give feedback.
-
Don't know as I haven't used other libraries, I don't think you will find people that used all three. Maybe talk to authors about why they didn't use the other implementation. However based on fact that there are so many raft implementation, usually the answer to question why implemented their own is "Why not?". You need to do your own research, define requirements, which features you need, build a PoC and see which one is best suited. |
Beta Was this translation helpful? Give feedback.
-
Performance Requirements: I was told that 50ms for a lock or unlock request are the upper limit. 200 requests per second are the current average of the system we are supporting. In the light of the etcd benchmarks in the documentation, that doesn't sound overly ambitious to me. Do you agree? |
Beta Was this translation helpful? Give feedback.
-
Simplicity: I'll differentiate between simplicity in the API used by the developer of the client application and the simplicity of the backend managed by my colleague and me. |
Beta Was this translation helpful? Give feedback.
-
Final note: The feedback and resources shared by Marek were very helpful. Further discussion will take place outside of this thread. Thanks a lot for your time! @serathius |
Beta Was this translation helpful? Give feedback.
Don't know as I haven't used other libraries, I don't think you will find people that used all three. Maybe talk to authors about why they didn't use the other implementation. However based on fact that there are so many raft implementation, usually the answer to question why implemented their own is "Why not?". You need to do your own research, define requirements, which features you need, build a PoC and see which one is best suited.