Мы разрабатываем стратегию кэширования для интенсивно используемого веб-сайта.Сайт состоит из смеси динамического и статического контента.Внешний интерфейс - PHP, средний уровень - Tomcat и mysql на задней панели.
По HTTPS выполняется только экран входа пользователя в систему для защиты учетных данных.После этого весь контент подается по обычному HTTP.Некоторые из экранов являются специфическими для клиента (скажем, его последние заказы), в то время как другие экраны являются общими для всех (самые популярные продукты, рекламные акции, правила и т. Д.).
Учитывая ожидаемый объем трафика, ясно, чтонам нужна комплексная стратегия кэширования.Поэтому мы рассматриваем следующие варианты:
- Поместите Squid или Varnish перед PHP и настройте его для кэширования всего общедоступного контента и даже формы отправки заказа клиента .
- Использование memcached с помощью PHP для кэширования фрагментов страницы (например, большинства популярных продуктов)
- Реализация кэширования на промежуточном уровне / tomcats (т. Е. Перед возвратом контента на веб-серверы попробуйте извлечь его из локального кэшанапример, ehcache)
- Используйте кеш уровня PHP, такой как Zend Cache, и сохраняйте там фрагменты страниц.Это близко ко второму варианту, который я упомянул, но он встроен в среду Zend.
Возможно, мы будем использовать комбинацию этих стратегий.
Итак, вопрос в том, стоит ли добавлять фронтальный кеш, например, Varnish, или просто использовать Zend Cache внутри?
Другой вариант, который я забыл упомянуть, это использование уровня PHPкэшируйте как Zend Cache и храните там фрагменты страниц.Это близко ко второму варианту, который я упомянул, но он встроен в инфраструктуру Zend.
Так что вопрос в том, стоит ли добавлять фронтальный кеш, как Varnish, или просто использовать Zend Cache внутри?
Еще раз спасибо, Филопатор.