0

在 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对于地图是1,并且read-backup-datatrue
  2. 2成员,为此地图启用了近缓存

这两种方法会有区别吗?

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

4

1 回答 1

1

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

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

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

于 2018-01-28T01:23:55.487 回答