У нас есть как аппаратные балансировщики нагрузки, так и memcached. Они служат различным целям, и memcached на самом деле не имеет ничего общего с липкими сессиями.
Это очень высокий уровень, но вы можете думать об этом примерно так: балансировка нагрузки позволяет распределять запросы на ЦП и другие ресурсы на несколько серверов. Тем не менее, memcached делает это так, что вам даже не нужны эти ресурсы.
Например, допустим, у вас есть страница поиска и вы решили кешировать результаты поиска. Допустим, у вас есть 20 серверов. Когда поступает запрос поиска, он направляется на сервер, который мы можем назвать Сервером А. Этот сервер будет выполнять поиск, а затем кэшировать результаты в memcached.
Теперь, если один и тот же поисковый запрос поступит из другого сеанса или пользователя, он, вероятно, будет перенаправлен на другой сервер, сервер B. Но сервер B сможет получать кэшированные результаты из memcached, который сервер A поместил туда так что ему никогда не придется выполнять поиск.
Предостережение: Это не будет применяться, если вы используете memcached для кэширования только вещей, которые зависят от сессии и меняются от сессии к сессии, например, уникальный маркер входа в систему. Для этих вещей, вы можете также кэшировать на сервере только определенный сеанс, если у вас есть липкие сеансы. Однако большинство вещей, которые стоит кэшировать, доступны более широко.