memcache не работает на нескольких узлах - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть один микро-сервис, скажем, 'X', в котором я реализовал Memcache (узел aws), используя spy-memcache. Теперь у меня есть одна зависимость, скажем, 'Y', которая имеет реализацию кэша пружины (в памяти). Теперь у меня есть 2 конечные точки, иногда обе конечные точки запрашивают приземление на одном и том же узле, иногда на другом. 1-й запрос поместит данные в memcache, а 2-й запрос попытается получить данные, сохраненные в первой конечной точке. Этот сценарий работает нормально, пока я не поместил зависимость 'Y' в pom, после этого моя реализация memcache работает только тогда, когда оба запросаприземляется на том же узле, в противном случае его всегда не хватает кеш

Я пытался создать отдельный менеджер кэша memcahe

@Bean("XYZ")
public CacheManager cacheManager() {
    ExtendedSSMCacheManager ssmCacheManager = new ExtendedSSMCacheManager();

    List<SSMCache> cacheList = new ArrayList<SSMCache>();

    // First cache: A
    SSMCache partnerCache = createNewCache(memcachedAddresses, "A", expiration);

    // One more  cache :B
    SSMCache nonceCache = createNewCache(memcachedAddresses, "B", expiration);

    cacheList.add(A);
    cacheList.add(B);

    // Adding cache list to cache manager
    ssmCacheManager.setCaches(cacheList);

    return ssmCacheManager;
}
...