我有一个简单的问题,我无法在Apache Ignite文档中找到确切的答案。Apache Ignite锁定用于同步网格上的任意计算
我看到Apache Ignite中有一个API用于创建显式锁定。我知道这些锁用于写入缓存条目,并且这是隐式完成的。
但是,我可以(我应该)能够在我的网格中显式创建一个锁来同步计算一些任意代码。这是我正在考虑的:
- 请求进入我的API。
- 我尝试在我点燃缓存
- 进入锁定如果我能进入我做一些计算(这应该只对我的API实例之一在任何给定时间内完成)锁
- 如果我能”牛逼输入锁,我返回409错误代码(重复的请求)
- 我退出锁定
是否有可能需要指出来这样做呢?我应该注意潜在的隐患吗?
是否要为每个计算创建一个单独的锁?或者一个计算完成后,另一个被允许在同一个锁上执行? –
每个请求一个锁。每个请求都允许将5个字段连接在一起成为锁定缓存键。但是一旦关键部分完成并且锁定退出,则不会再次使用。我保留对缓存本身的引用,所以我不必在每次请求时重新创建/检索它。 – DKhanaf
听起来像你可以通过群集单例实现:https://apacheignite.readme.io/docs/cluster-singletons –