Подтвердить что ты не робот

Что такое распределенный кеш?

Я запутался в концепции распределенного кэша. Я точно знаю, что это из поиска Google. Распределенный кеш может охватывать несколько серверов, чтобы он мог увеличиваться по размеру и в транзакционной емкости. Однако я не понимаю, как это работает или как он распространяет данные.

Например, скажем, у нас есть Data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 и 2 сервера кеша A и B. Если мы используем распределенный кеш, то одним из возможных решений является то, что данные 1, 3, 5, 7, 9 хранятся в кеш-сервере A, а 2, 4, 6, 8, 10 хранятся в кеш-сервере B.

Так это правильно или я неправильно понял?

Второй вопрос заключается в том, что я обычно слышал слово сервер node. Что это? В приведенном выше примере сервер A является сервером node, правильно?

Третий вопрос, если сервер (скажем, сервер А) опустился, что мы можем с этим поделать? Я имею в виду, что если мой пример выше, мы не можем получить данные 1, 3, 5, 7, 9 из кеша, когда сервер A не работает, то что может сделать сервер Cache Server в этом случае?

4b9b3361

Ответ 1

  • Да, половина данных на сервере a, а половина на сервере b будет распределенным кешем. Существует множество способов распространения данных, хотя, по-видимому, наиболее популярен какой-то хэширование ключей.

  • Термины server и node, как правило, взаимозаменяемы. A node, как правило, является одной единицей некоторой коллекции, которую часто называют кластером. Сервер, как правило, представляет собой единое целое. В erlang вы можете запускать несколько экземпляров среды выполнения erlang на одном сервере и, следовательно, у вас будет несколько узлов erlang... но обычно вы хотите иметь один node на сервер для более оптимального планирования. (Для нераспределенных языков и платформ вам необходимо управлять своими процессами на основе ваших потребностей.)

  • Если сервер опускается, и он является сервером кэш-памяти, тогда данные должны будут поступать из исходного источника. EG: Кэш обычно представляет собой базу данных на основе памяти, предназначенную для быстрого поиска. Данные в кеше сохраняются только до тех пор, пока они будут использоваться регулярно и в конечном итоге будут очищены. Но для распределенных систем, где вам требуется настойчивость, общий метод состоит в том, чтобы иметь несколько копий. EG: у вас есть серверы A, B, C, D, E и F. Для данных 1 вы должны поместить их в A, а затем сделать копию на B и C. Couchbase и Riak. Для данных 2 он может быть на B, а затем копируется на C и D. Таким образом, если какой-либо один сервер опускается, у вас все еще есть две копии.