hazelcast - 读取备份数据与近缓存

hazelcast - read-backup-data vs near cache

在 IMap 配置中有一个属性 read-backup-data 可以设置为 true 允许成员从备份副本中读取值,如果可用的话,以防密钥的所有者是其他成员.

http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Map/Backing_Up_Maps.html#page_Enabling+Backup+Reads

然后是 nearcache,它将开始在本地缓存一些数据结构的结果。

http://docs.hazelcast.org/docs/latest-development/manual/html/Performance/Near_Cache/Hazelcast_Data_Structures_with_Near_Cache_Support.html

如果我们有两种集群设置:

  1. 2个成员,async-backup-count个地图是1read-backup-datatrue
  2. 2 位成员,为此地图启用了近缓存

这两种方法会有区别吗?

第一个设置可能会使用较少的内存,并且不可配置。但是在读取性能方面呢?

对于两个成员集群设置;启用备份读取将使您能够在本地访问所有数据,因为两个成员都将所有条目保存为主要条目或备份条目。此设置与使用复制映射没有太大区别(有关详细信息,请参见此处:http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Replicated_Map.html)。所以;当您的集群只有两个成员(也没有客户端)时,启用备份读取在性能方面可能更有优势。

但是; near cache 有很多配置选项,您可以决定在任何类型的设置(包括客户端-服务器拓扑)中需要本地访问多少数据。您还可以决定近缓存中的内存数据格式。这些选项可以为您提供比启用备份读取更高的性能。

这两个选项在单项读取性能方面没有太大区别(我假设近缓存包含有效条目),因为它们都不执行远程操作。