2013-07-12 1 views
0

Я пытался изучать распределенное кэширование в течение некоторого времени, и не в том, чтобы разъяснить некоторые проблемы, перечисленные ниже:Что распределенное кэширование и в плане кэширования хранимых данных для нескольких приложений/несколько экземпляров приложения

  1. Распространенное кеширование означает, что кеш должен быть распределенным или распределенным приложениям, использующим кеширование постоянных данных согласованным образом.
  2. В случае, если кеши тоже распределены, они должны быть непересекающимися в терминах записей кэша или они могут обмениваться ими, или записи кэша в каждом кеше должны быть одинаковыми.
  3. Где должен находиться кеш. Внутри процесса приложения или экстернализации, и если оба подхода являются жизнеспособными, то какой из них следует предпочесть в каком сценарии.
  4. В случае разнесенных распределенных кешей, как происходит связь когерентности.
  5. В случае, если кеш находится за пределами экземпляров приложения, существует ли преимущество распространения кешей и поддержания согласованности между ними непересекающимся образом. ИЛИ лучше поддерживать один кеш (или несколько непересекающихся).
  6. В случае, если экземпляры (ке) кэша были экстернализованы из экземпляров приложения, насколько важны сетевые накладные расходы. Или как это должно быть связано с сетевыми накладными расходами (процесс кэширования связи) при попытке создания распределенного кэширующего решения.

Я немного новичок в вещах, поэтому некоторые перечисленные выше проблемы могут даже не иметь никакого смысла. Решения/Исправления также предлагаются по этому вопросу.

ответ

0

Моя лучшая попытка ответов:

  1. Я бы сказал так. Распределенный кеш означает, что логическая идея кеша распространяется на несколько разных машин. Например, у вас может быть 5 узлов в вашем кеше, и каждый узел находится на компьютере/VM.

    Обычно, когда вам нужен распределенный кеш, ваше приложение также распространяется. Маленький веб-сайт = один сервер, возможно, один кэш-узел. Большой веб-сайт = множество веб-серверов, распределенный кеш.

  2. Большинство распределенных кэшей распределяет записи кэша равномерно между узлами. Если вы напишете запись на один узел, она будет реплицирована на все остальные узлы. Идея состоит в том, что каждый узел кэша можно вынуть из «кластера», и вы не потеряете никаких данных.

    Идея иметь одну запись в кеше на одной машине называется sharding. Это означает, что вы смотрите на ключ кеша, а затем решаете, к какому узлу кеша его хранить.

    Для существующих распределенных кэшей вам не нужно обходиться ни при каких обстоятельствах.

  3. Что касается распределенных кешей, они должны быть на своих машинах без каких-либо других процессов. Кэши обычно находятся в памяти, поэтому вам не нужны другие вещи, конкурирующие за эту драгоценную оперативную память.

    Вы можете технически разместить веб-сервер на том же компьютере, что и кэш-узел, но просто имейте в виду, что они будут соревноваться за физические ресурсы.

  4. Не беспокойтесь об этом.=) Каждый распределенный кеш ведет себя по-разному, поэтому хорошо читать на нем, но все они обрабатывают репликацию данных самостоятельно. Вам не стоит беспокоиться об этом/управлять им.

  5. Я бы поддержал один логический кеш, который распределен на многих машинах. Опять же, причина этого в том, что узел опускается. Если ваш узел кэша опускается, и у него есть значения, которые больше нигде не существуют, у вас большие проблемы. (База данных может перегружать запросы на обслуживание, которые выполнял кеш.)

  6. Хороший вопрос. =) Если ящики находятся в одной и той же внутренней сети, стоимость действительно очень низкая. Пока кеш не находится на западном побережье, а веб-серверы находятся на восточном побережье, вы должны быть в порядке. Конечно, есть цена, но есть творческие способы обойти это.

Надеюсь, что это поможет!

+0

Я немного скептически отношусь к 1, потому что способ memcached делает внешний вид одного кеша всех процессов, и все же они называют его распределенным кешем – mickeymoon

 Смежные вопросы

  • Нет связанных вопросов^_^