2

我需要在我的项目中使用分布式锁定。我正在为此考虑 Zookeeper + Curator。在我的调查中,我发现这两个框架可以解决我的大部分项目需求。但是我有两个用例,我不清楚 Zookeeper+Curator 如何解决它们。

  1. 锁定中的资源层次结构:我们有资源层次结构的概念,如果一个资源(例如:数据库表)被锁定,则对该对象和所有从属资源(例如:行)的其他请求应该被阻止。类似地,如果资源的下属被锁定,则对该资源的锁定请求应阻止该资源。有没有办法配置 curator 来满足上述需求?

  2. 基于参与者的重入:用户 U1 从节点 N1 登录到系统。在系统操作期间,他获取共享资源上的锁。如果他再次请求相同的资源,它将由 curator 授予,因为重入检查是基于线程的 UUID。如果同一用户 U1 从节点 N2 再次登录到系统,他的请求将排队,因为 UUID 不匹配。我的要求是,如果任何用户同时从不同的节点(多个 jvm)登录,他的所有请求都必须像从单个节点登录一样处理。这可以通过在馆长中用用户ID(通常是任何基于演员/应用程序的ID)替换UUID来完成吗?如果没有,请通过注意正确的方法来提供帮助。

请让我知道任何具有分布式锁定框架并且可以满足上述要求的机制或框架。

谢谢,纳雷什

4

0 回答 0