2008-09-25 2 views

ответ

5

Высокая доступность хорошая, и memcached автоматически распределяет ваш кеш на 4 серверах. Если по какой-то причине один из этих серверов умирает, вы можете справиться с этой ошибкой либо просто продолжая, как если бы кеш был пустым, перенаправлялся на другой сервер или какой-либо пользовательской обработки ошибок, которую вы хотите. Если ваш сервер 1x 2gb умирает, ваши варианты довольно ограничены.

Важно помнить, что у вас нет 4 копий вашего кеша, это 1 кэш, разделенный на 4 сервера.

Единственным недостатком является то, что с 4x .5 легче выбежать из памяти 1x 2gb.

+1

Распределение записей по серверам - это работа клиента. В этом есть ряд методов, которые изложены в различных часто задаваемых вопросах и клиентах memcached. – 2009-04-09 23:49:51

6

Если один экземпляр не удается, вы по-прежнему получаете преимущества использования кеша. Это особенно актуально, если вы используете Consistenthaching, который будет передавать одни и те же данные в один и тот же экземпляр, вместо того, чтобы распространять новые чтения/записи среди машин, которые все еще работают.

Вы также можете выбрать серверы на 32-разрядных операционных системах, которые не могут адресовать более 3 ГБ памяти.

Проверьте FAQ: http://www.socialtext.net/memcached/ и http://www.danga.com/memcached/

2

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

Это преимущество в значительной степени зависит от использования memcache, однако (иногда это может быть более быстрый способ получить все с одной машины).

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