标签: hazelcast-imap

Hazelcast 3.6.2 Eviction Map 不适用于 Spring 和 max-size-policy 作为 3.6.2 中的 PER_NODE

我想让 Map eviction max-size="4" PER_NODE 在 Hazelcast 3.6.2 spring 上工作。下面是我在春天定义的地图。

<hz:map name="sfdRequestMap" in-memory-format="OBJECT" eviction-policy="LRU" max-size="4" max-size-policy="PER_NODE" eviction-percentage="25">
</hz:map>
Run Code Online (Sandbox Code Playgroud)

我还检查了是否确实为定义的地图设置了此驱逐政策,并且确实如此。几秒钟后驱逐也适用于该地图,但在覆盖最大尺寸时驱逐无效。我正在使用 hazelcast 3.6.2。我还尝试删除内存格式,更改驱逐政策等。

预期行为是,当地图超过项目数量(超过 4 个)时,驱逐将开始。实际行为是驱逐从未开始。

欢迎任何帮助。

java spring hazelcast hazelcast-imap

2
推荐指数
1
解决办法
1122
查看次数

hazelcast 实例和组名称:最佳实践

我已经为开发和 QA 环境配置了 hazelcast,并保持 hazelcast 实例名称相同但组名称不同(在每个 yml 文件中)。它是否正确 ?另外,有没有办法限制集群成员。它只会加入端口号显式配置的成员。您能指导一些示例吗?

谢谢。

hazelcast hazelcast-imap

2
推荐指数
1
解决办法
5498
查看次数

正确使用 Hazelcast EntryProcessor

我们正在尝试找出在不使用悲观锁定的情况下使用 Hazelcast 的 IMap 的最佳方法。

EntryProcessor 似乎是正确的选择,但是我们需要应用两种不同类型的操作:当 containsKey 为假时“创建”,以及当 containsKey 为真时“更新”。

我如何利用 EntryProcessor 来支持这些逻辑检查?

如果两个线程同时命中 containsKey() 并且返回 false 给它们,我不希望它们都创建密钥。我希望第二个线程改为应​​用更新。

这是我们到目前为止所拥有的:

public void put(String key, Object value) {

    IMap<String, Object> map = getMap();

    if (!map.containsKey(key)) {
           // create key here
    } else {
        // update existing value here
        // ...
        map.executeOnKey(key, new TransactionEntryProcessor({my_new_value}));
    }
}

private static class MyEntryProcessor implements
        EntryProcessor<String, Object>, EntryBackupProcessor<String, Object>, Serializable {

    private static final long serialVersionUID = // blah blah

    private static final ThreadLocal<Object> entryToSet = …
Run Code Online (Sandbox Code Playgroud)

java multithreading locking hazelcast hazelcast-imap

1
推荐指数
1
解决办法
2751
查看次数

是否可以在Hazelcast中加入两个不同的IMap?

我有两个hazelcast地图1. map2 2. map2

我想把两个地图都放在键上。

我可以在hazelcast中做吗?

谢谢

hazelcast hazelcast-imap hazelcast-jet

1
推荐指数
1
解决办法
602
查看次数

Hazelcast是否支持同步(sync)@Cacheable实现

我想使用 hazelcast 作为 spring 的缓存提供程序。假设我能够配置集群并选择正确的 hazelcast CacheManager 实现。

我想确保 hazelcast 缓存支持“同步”注释属性,如此处所述

我想确保编写像这样的代码

@Cacheable(cacheNames="foos", sync=true)
public Foo executeExpensiveOperation(String id) {...}
Run Code Online (Sandbox Code Playgroud)

...将为我保证条目将被锁定,而缓存值将由 CacheLoader 计算。

现代版本的 hazelcast 支持同步缓存实现吗?

我知道分布式读取 IMap 具有与同步缓存类似的行为。我可以通过按键显式锁定映射条目。我应该使用这些结构作为替代吗?

hazelcast spring-cache hazelcast-imap

1
推荐指数
1
解决办法
1126
查看次数

3 节点集群情况下的 Hazelcast 高可用性

我们使用 Hazelcast IMDG 作为内存网格。我们集群中的节点数是三个,我们有一个同步备份并且集群是分区感知的。在这种情况下,我希望分布式地图将均匀分布在 3 个节点(或多或少)上。如果节点发生故障,领导权应转移到健康节点(具有丢失数据的同步备份)。如果对该新分配的领导节点有写入请求,则应将同一分区同步复制到活动节点之一。这是否意味着在节点故障的情况下,应该复制大约三分之一的分布式映射,并且在复制时间内,所有读取都被阻止?如果在一次同步备份的情况下三个节点之一宕机,直到大约三分之一的分布恢复,可用性会受到影响吗?

hazelcast hazelcast-imap

1
推荐指数
1
解决办法
287
查看次数