hazelcast - 读取备份数据与近缓存
hazelcast - read-backup-data vs near cache
在 IMap 配置中有一个属性 read-backup-data
可以设置为 true 允许成员从备份副本中读取值,如果可用的话,以防密钥的所有者是其他成员.
然后是 nearcache,它将开始在本地缓存一些数据结构的结果。
如果我们有两种集群设置:
2
个成员,async-backup-count
个地图是1
,read-backup-data
是true
2
位成员,为此地图启用了近缓存
这两种方法会有区别吗?
第一个设置可能会使用较少的内存,并且不可配置。但是在读取性能方面呢?
对于两个成员集群设置;启用备份读取将使您能够在本地访问所有数据,因为两个成员都将所有条目保存为主要条目或备份条目。此设置与使用复制映射没有太大区别(有关详细信息,请参见此处:http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Replicated_Map.html)。所以;当您的集群只有两个成员(也没有客户端)时,启用备份读取在性能方面可能更有优势。
但是; near cache 有很多配置选项,您可以决定在任何类型的设置(包括客户端-服务器拓扑)中需要本地访问多少数据。您还可以决定近缓存中的内存数据格式。这些选项可以为您提供比启用备份读取更高的性能。
这两个选项在单项读取性能方面没有太大区别(我假设近缓存包含有效条目),因为它们都不执行远程操作。
在 IMap 配置中有一个属性 read-backup-data
可以设置为 true 允许成员从备份副本中读取值,如果可用的话,以防密钥的所有者是其他成员.
然后是 nearcache,它将开始在本地缓存一些数据结构的结果。
如果我们有两种集群设置:
2
个成员,async-backup-count
个地图是1
,read-backup-data
是true
2
位成员,为此地图启用了近缓存
这两种方法会有区别吗?
第一个设置可能会使用较少的内存,并且不可配置。但是在读取性能方面呢?
对于两个成员集群设置;启用备份读取将使您能够在本地访问所有数据,因为两个成员都将所有条目保存为主要条目或备份条目。此设置与使用复制映射没有太大区别(有关详细信息,请参见此处:http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Replicated_Map.html)。所以;当您的集群只有两个成员(也没有客户端)时,启用备份读取在性能方面可能更有优势。
但是; near cache 有很多配置选项,您可以决定在任何类型的设置(包括客户端-服务器拓扑)中需要本地访问多少数据。您还可以决定近缓存中的内存数据格式。这些选项可以为您提供比启用备份读取更高的性能。
这两个选项在单项读取性能方面没有太大区别(我假设近缓存包含有效条目),因为它们都不执行远程操作。