Hazelcast MapStore 并发

Hazelcast MapStore concurrency

查看 Hazelcast Map Persistence article 并想知道:为什么使用 synchronized 关键字声明 MapStore 方法? 对于 same 记录键,是否有可能同时调用此方法?

特别是在直写映射存储的情况下,当存储方法与 IMap 方法同步调用时。

是的,MapStore 实现可能会从不同的分区同时调用。也就是说,这意味着永远不会同时调用相同的密钥但不同的密钥。

示例中只有一个数据库 (SQL) 连接,因此所有方法都需要共享相同的互斥量(使用同步块强制执行)。另一方面,如果您有一个多线程(线程安全)数据库访问/客户端或一个连接池,您可以不同步对这些方法的访问。