我想知道是否可以在Hazelcast中为组合的所有地图配置内存限制。在实例级别说。 由于我的hazelcast节点是嵌入在应用程序的JVM内运行的,因此我想设置此限制
答案 0 :(得分:0)
达到内存限制后,该如何工作?哪个地图将逐出条目?
由于您开始使用定义堆大小的榛树广播,因此可以在所有地图上使用基于堆使用的逐出。或者,仅当您要使用单个逐出配置时,才可以使用单个地图。
答案 1 :(得分:0)
@Haresh,您可以按照以下说明为USED_HEAP_PERCENTAGE
或FREE_HEAP_PERCENTAGE
定义驱逐策略:https://docs.hazelcast.org/docs/latest/manual/html-single/index.html#configuring-map-eviction
您还需要为所有地图配置和default
地图配置定义此逐出配置。这将帮助您限制堆的使用,但会导致其他意外行为,如@sertug所述。
假设您有2张地图:a
和b
。您填满了a
,并且在JVM中只有足够的空间可以再添加1个条目。当您开始将数据推送到b
时,它只会存储最后一个记录并逐出上一个记录,因为地图只能从自己的记录而不是从其他地图上逐出记录。