Проблема кеширования cakephp на архитектуре распределенных серверов - PullRequest
0 голосов
/ 30 января 2010

Мы использовали несколько веб-серверов для нашего приложения cakephp,

server architecture

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

Когда новый веб-запрос поступает на сервер 2, он создает новые файлы кэша и возвращает хорошие результаты. НО, когда дело доходит до сервера 1, он показывает те же старые результаты :(.

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

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

Спасибо за чтение

Ответы [ 2 ]

2 голосов
/ 30 января 2010

Я хотел бы изучить использование Memcache для вашего механизма кэширования. Вы можете настроить демон Memcache (memcached) на одном сервере, а затем подключить оба сервера к одному кешу. Смотрите core.php для подробной информации. Конечно, вам также придется установить memcache php ext и демон, но это того стоит.

1 голос
/ 30 января 2010

Самый простой способ - настроить каталог кэша, который будет обслуживаться с сервера nfs (файл). Тебе не нужно ничего менять.

Для повышения производительности я бы также использовал Memcache, как сказал Бучо, но, скорее всего, вам потребуется изменить код приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...