- реплицировались только на несколько сервисов (не на все) просто для того, чтобы, когда сервис умирает, он имел возможность восстановить свои кэширует из другой службы при ее перезапуске)
- доступно для чтения/записи/вытеснения в определенных службах.
Код: Выделить всё
@PostConstruct
public void init(){
if(defaultCacheManager==null){
defaultCacheManager = cacheManager();
}
for(String cacheName:cacheNames){
createCache(defaultCacheManager,cacheName);
}
}
public Cache createCache(DefaultCacheManager cacheManager, String cacheName) {
return this.buildCache(cacheName, cacheManager, cacheExpiringEvictingConfig(cacheManager));
}
private Configuration cacheExpiringEvictingConfig(DefaultCacheManager cacheManager) {
ConfigurationBuilder confBuilder = new ConfigurationBuilder();
confBuilder.expiration().lifespan(200, TimeUnit.HOURS);
confBuilder.memory().maxCount(1000000).whenFull(EvictionStrategy.REMOVE);
confBuilder.clustering().cacheMode(CacheMode.DIST_ASYNC);
return confBuilder.build();
}
private Cache buildCache(String cacheName, DefaultCacheManager cacheManager, Configuration configuration) {
cacheManager.defineConfiguration(cacheName, configuration);
Cache cache = cacheManager.getCache(cacheName);
return cache;
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... de-with-k8
Мобильная версия