GemFire 增量传播线程安全

GemFire delta propagation thread-safety

GemFire 允许通过实现 Delta 接口(hasDeltatoDeltafromDelta)发送增量而不是完全成熟的对象来减少更新期间的网络负载。

是否可以假设如果从不同的更新程序接收到针对同一密钥的多个更新,上述方法不是 运行 并发的?

GemFire(现在是 Apache Geode(孵化))预先计算传入 Delta 更新的 "delta" 位。因此 hasDeltatoDelta 在新值上被调用,甚至在它被 "actually" 放入 Region 之前,并且 不是 同步。 application/implementation 需要处理它。另请注意,toDelta 仅在更新发起的第一个成员处调用。

另一方面,在 "actually" 将新值放入时,fromDelta 在锁定密钥条目后调用现有值(在接收成员的缓存中) Region。不同键的增量更新同时发生,就像正常更新一样。

Region 属性 cloning-enabledCache 属性 copy-on-read 决定增量位是就地应用于现有值还是应用于其副本。

How/where 增量事件的分布与 GemFire 中的正常事件分布非常相似。

如果您还没有这样做,请访问this page此页面了解更多详情。