Hazelcast中驱逐政策的差异

Hazelcast中驱逐政策的差异,hazelcast,Hazelcast,我正在浏览Hazelcast的文档,我注意到了驱逐政策的不同,我注意到了一个我没有完全理解的地方 map_size_per_jvm: Max map size per JVM. partitions_wide_map_size: Partitions (default 271) wide max map size. 我假设这两个都是关于条目的,而不是关于存储空间的大小。分区不是要放在1个JVM上吗?对我来说,这两个都是相同的选项,有人能帮我理解这两个选项之间的区别吗?首先,是的,每个jvm的

我正在浏览Hazelcast的文档,我注意到了驱逐政策的不同,我注意到了一个我没有完全理解的地方

map_size_per_jvm: Max map size per JVM.

partitions_wide_map_size: Partitions (default 271) wide max map size.

我假设这两个都是关于条目的,而不是关于存储空间的大小。分区不是要放在1个JVM上吗?对我来说,这两个都是相同的选项,有人能帮我理解这两个选项之间的区别吗?

首先,是的,每个jvm的最大大小
map\u size\u
cluster\u-wide\u-map\u-size
partitions\u-wide\u-map\u-size
是每个条目的大小(而不是存储空间大小)

其次,这些最大规模是硬限制,虽然类似,但实际上与驱逐政策不同(分别为
LRU
LFU
NONE

以下是它们的工作原理:

  • 集群\u范围\u映射\u大小-这是所有hazelcast节点上的总映射条目

  • 映射每个jvm的映射大小-这本质上是每个hazelcast节点的映射条目数

    因此,如果使用此策略运行2个节点,且最大大小为10(备份计数为0,请参见下文),则所有节点上最多有20个映射条目。添加另一个hazelcast节点将增加最大贴图总大小

  • 分区\u-wide\u-map\u-size-此分区有点不可预测,因为它取决于节点上的分区分布

    当集群节点达到最大大小的(所拥有的分区/总分区)比例时,它就达到了最大值。代码:

  • 注意所有这些最大映射大小都包括备份,因此
    backupCount=1
    有效地将实际最大映射大小减半

    其他最大大小设置,
    used\u heap\u size
    used\u heap\u percentage
    的用法似乎很清楚

    我希望这有帮助,祝你好运