Возможно ли потерять данные или разные данные присутствуют на разных ключах в Ignite Cache? - PullRequest
0 голосов
/ 03 июля 2018

Я использую кластер Ignite на 3 узлах Ignite. В котором работающий кеш имеет CacheAtomicityMode как Atomic и CacheMode как PARTITIONED.

Можно ли потерять данные или использовать другие данные, которые присутствуют на другом ключе?

Примечание. Загрузка данных происходит на стороне сервера. Возможно, что одни и те же данные с несколькими объектами будут загружаться на все серверы одновременно

Конфигурация кэша:

CacheConfiguration<String, JsonObject> cacheConfig = new CacheConfiguration<>();
cacheConfig.setName("CACHE");
cacheConfig.setCacheMode(CacheMode.PARTITIONED);
cacheConfig.setAtomicityMode(CacheAtomicityMode.ATOMIC );
cacheConfig.setReadThrough(true);
cacheConfig.setBackups(2);
cacheConfig.setCacheStoreFactory(FactoryBuilder.factoryOf(ObjectLoader.class));
cacheConfig.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_ASYNC);
IgniteCache<String, JsonObject> cache = ignite.getOrCreateCache(cacheConfig);

1 Ответ

0 голосов
/ 03 июля 2018

Если два узла выйдут из строя до того, как он закончит копирование данных в обе резервные копии, вы можете потерять некоторые данные. Вы можете изменить это, используя режим синхронизации записи FULL_SYNC.

(Также стоит отметить: если вы хотите, чтобы все ваши данные были на всех узлах, вы можете использовать режим REPLICATED Cache.)

...