如何实现分布式读写锁定仅在不考虑节点故障的情况下为单服务器

问题描述

我想要一个分布式读写锁。搜索了一段时间,但没有找到开箱即用的解决方案。还搜索有关stackoverflow的一些问题,我想知道瓶颈是为什么它太复杂以至于无法处理节点故障以及性能问题(网络IO过多)

好吧,我想缩小用例并使这个问题更简单:

  1. 我只有一台服务器,不考虑节点故障,不同的客户端通过该服务器获取RWLock。
  2. 我不确定性能问题来自何处,但就我的用户而言,我认为性能不是大问题,读取并发(最多)只有500个,写入并发不超过5个,完全有些延迟只要我能确保正确性就可以接受。

我正在寻找一些现成的库(在python中),或者将几种工具进行一些简单的组合就可以实现(也许redis?我知道redis很适合如果我们只想要一个简单的分布式互斥锁,而不是RWLock,就去吧

当前我自己的实现是:

  1. 我的服务器中有一个RWLock实例
  2. 客户端获取锁定并继续发送心跳
  3. 在服务器中维护一个心跳表,以确定哪个客户端已死,然后相应地释放其锁定

基本上,我必须从头开始编写,也许不太复杂,但是我不是100%确信我可以正确地编写.... so,因此,如果有一些现成的解决方案,它将是很棒

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)