Какой самый быстрый способ скопировать сущности из одного кэша Ignite в другой? - PullRequest
0 голосов
/ 24 сентября 2018

Я ищу способ скопировать все сущности с заданными ключами из одного кеша Ignite в другой.В то время как каждый постоянно получает новые данные, каждые х секунд все данные должны дублироваться в кэш2.Я пытался использовать EntryProcessor, потому что мне нужно только скопировать данные на месте (на тех же узлах):

EntryProcessor p = new EntryProcessor() {
    @Override
    public Object process(MutableEntry entry, Object... objects) throws EntryProcessorException {
        entry.setValue(cache.get((long)entry.getKey()));
        return null;
    }
};

read_cache.invokeAll(key_set, p);
key_set.clear();

Но это работает очень медленно.В то время как я загружаю данные ~ 17k / sec, они копируются со скоростью около 5k / s.

1 Ответ

0 голосов
/ 27 сентября 2018

Я бы попробовал использовать DataStreamer внутри запроса сканирования и / или непрерывного запроса.Только не забывайте периодически промывать его.

...