Работа Ehcache на большом кластере

Вызов к vector<T>::size() возвраты значение типа std::vector<T>::size_type, не интервал, неподписанный интервал или иначе.

Также обычно повторение по контейнеру в C++ сделано с помощью итераторы , как это.

std::vector<T>::iterator i = polygon.begin();
std::vector<T>::iterator end = polygon.end();

for(; i != end; i++){
    sum += *i;
}

, Где T является типом данных, Вы храните в векторе.

Или использование различных итеративных алгоритмов (std::transform, std::copy, std::fill, std::for_each и так далее).

5
задан Jazz 29 July 2009 в 21:19
поделиться

3 ответа

Хорошим решением проблемы масштабирования кластера является концепция «партнерской репликации», когда данные реплицируются только на соседей каждого узла (как бы вы это ни определяли), а не на все узлы. Вы получаете аварийное переключение без проблем с масштабированием.

Насколько мне известно, ehcache этого не делает. Однако JBossCache это делает, и он также интегрируется с Hibernate так же, как и ehcache.

3
ответ дан 14 December 2019 в 04:44
поделиться

Полностью реплицированный кеш будет работать только при чтении вашего приложения -в основном. Реплицированный кеш нельзя масштабировать; передача обновлений другим узлам убьет вашу производительность. Вам нужен многораздельный кеш с резервными репликами. Разделенные кеши будут линейно масштабироваться даже для приложений с интенсивной записью.

Попробуйте Hazelcast ! это решение для транзакционного многораздельного кэширования Java с открытым исходным кодом (лицензия Apache). Он поставляется с плагином кеширования второго уровня спящего режима.

Несколько десятков? Без проблем. Демонстрацию 100 узлового кластера Hazelcast можно найти здесь .

4
ответ дан 14 December 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: