С учетом следующего сценария, пожалуйста, предложите мне способ реализовать memcache в моем приложении.
В настоящее время у меня есть 10 веб-серверов, на которых выполняется одно и то же приложение, и балансировщик нагрузки, чтобы решить, на какой веб-сервер будет отправлен запрос.
На каждом веб-сервере я поддерживаю локальный кеш, то есть есть некоторый класс XYZ, который управляет таблицей MySQL xyz, и этот класс имеет метод инициализации
который прогреет локальный кеш.
Теперь предположим, что веб-серверами являются X, Y, Z. Балансировщик нагрузки отправляет запрос в X, и этот запрос добавляет некоторые значения в базу данных и обновляет кэш. Снова тот же запрос был отправлен балансировщиком нагрузки на Y. Но поскольку сервер Y не имеет значения в кэше, он попадает в базу данных.
Итак, учитывая этот сценарий, как мне реализовать memcache в моем приложении, чтобы я мог минимизировать попадания в БД.
Должен ли я иметь отдельный сервер memcache, и все остальные 10 веб-серверов будут получать кэшированные данные с этого сервера memcacher?