Memcache Failover
Я использую Memcache (не memcacheD) . Если у меня есть 10 серверов memcache и 1 из них выходит из строя, это автоматически удаляется из пула? Я имею в виду, что когда мое приложение пытается сделать запрос на кэш, оно когда-нибудь будет пытаться получить данные ключа с этого 1 неисправного сервера?
1 ответ
Я не думаю, что он будет удален, но есть автоматическое переключение при сбое, если у вас есть несколько добавленных узлов. Вы можете настроить это поведение при сбое здесь: http://php.net/manual/en/memcache.ini.php
Вот цитата из документации:
Отработка отказа может произойти на любом этапе в любом из методов, если доступны другие серверы, запрос которых пользователь не заметит. Любой вид ошибок уровня сокета или сервера Memcached (кроме нехватки памяти) может вызвать аварийное переключение. Обычные клиентские ошибки, такие как добавление существующего ключа, не будут вызывать отработки отказа.
Конечно, это предполагает, что все данные зеркально отражаются на этих узлах, потому что вы должны реализовать сегментирование / кластеризацию на стороне вашего приложения.