1

从我在官方缓存范围文档中看到的内容来看,如果托管对象存储与适当的值一起使用 - 缓存应该在 Cloudhub 中的多个工作人员/节点之间共享。

<ee:object-store-caching-strategy name="Caching_Strategy" keyGenerationExpression="#[flowVars.address_id + flowVars.count]" doc:name="Caching Strategy">
        <managed-store storeName="CacheStore" persistent="true" maxEntries="${cache.max.entries}" entryTTL="${cache.ttl}" expirationInterval="${cache.expiration.poll}"/>
</ee:object-store-caching-strategy>

但这并没有按预期工作。缓存条目未被共享。每个工作人员/节点似乎都在缓存存储上创建它。

我尝试了一些组合,例如使 store 持久化或将 expirePoll 减少到几毫秒或使队列持久化等等。没有喜悦。

非常感谢您的帮助。

使用骡运行时 3.8.4

4

1 回答 1

1

Cache Scope设计为每个工作人员使用,并且仅用作侧缓存模式。对于共享缓存,您需要某种集群缓存解决方案。我们最终选择了Hazelcast.

于 2018-03-16T18:17:45.863 回答