redis之zookeeper 的 Curator 框架之Interprocess mutex 每次需要 50ms 来获取锁

kevingrace 阅读:433 2023-08-23 13:35:30 评论:0

我正在使用 Curator 框架进程间互斥来创建分布式锁以保留一些资源。但是,我可以看到 zookeeper 每次获取锁需要 50-100 毫秒,释放锁需要 20-40 毫秒。 我的应用程序写入量很大,必须在 500 毫秒内响应 10-50 个请求/秒,而我不能只花 70-140 毫秒来获取和释放锁。 1)有什么办法可以改进吗?我的动物园管理员服务器和客户端在同一台主机上。 我已尝试按照管理指南中的说明设置 zookeeper 服务器。 2)我应该使用其他一些框架/技术吗?我想知道 Redis SETNX 是更好的解决方案还是使用 Chubby。

请您参考如下方法:

Zookeeper 的主要设计目的是保持一致,其次是快速。一致性伴随着协调成本。这总是会增加延迟。您可以做的是根据您的工作进行分片,并且只进行工作级锁定。这将避免以增加或删除工作人员时增加复杂性为代价的 Zookeeper 锁的额外成本。


标签:zookeeper
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

全民解析

全民解析

关注我们