Общий кеш между работниками в Cloudhub?
Из того, что я вижу в официальной документации по области кэширования, если управляемое хранилище объектов используется с соответствующими значениями - предполагается, что кеш будет разделен между несколькими рабочими / узлами в 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>
Но это не работает, как ожидалось. Записи в кэше не являются общими. Кажется, что каждый работник / узел создает свое хранилище в кеше.
Я пробовал несколько комбинаций, таких как сохранение хранилища или уменьшение expirationPoll до нескольких миллисекунд или сохранение очередей и т. Д. Нет радости
Ваша помощь очень ценится.
Использование Mule Runtime 3.8.4.
1 ответ
Cache Scope
предназначен для использования на одного работника и только в качестве шаблона бокового кэша. Для общего кэша вам понадобится какое-то решение для кэширования кластера. Мы должны были идти с Hazelcast
,