Базовая кеширующая нагрузка / балансировка Akamai/Android
На сервере JBoss лежит JSP. Давайте назовем это taketoolong.jsp
Это делает некоторую обработку, которая занимает до 30-45 секунд. (Да, я знаю, что это должно быть оптимизировано). Тогда это возвращается. 30-45 секунд считается слишком долгим для пользователя по очевидным причинам. Таким образом, вводятся Akamai и балансировщики нагрузки, так что это время может быть уменьшено за счет кэширования результата запроса. Однако в какой-то момент возвращаемое содержимое jsp изменится, и время ожидания кэша сократится. Как вы не позволяете пользователям снова видеть время загрузки 20-45 секунд? В частности, как настроить Akamai таким образом, чтобы он не использовал ip или другие факторы, а возвращал обработанный результат устройству / пользователю Android без задержки более 30 секунд? Как настроить Akamai для устройств Android?
1 ответ
Мое предложение будет заключаться в том, чтобы изолировать taketoolong.jsp от пользователя все вместе, чтобы они когда-либо видели только кэшированный результат....
для этого вам потребуется вторичный процесс, который отправляет запрос на страницу taketoolong.jsp (это может быть простое задание cron, которое запускает службу и записывает результат на html-страницу), а затем указывает пользователям (или Akamai на сервер, доставляющий статический фрагмент HTML.
таким образом, вы можете обновить результаты, не видя задержки пользователем, и даже когда контент действительно изменяется до момента фиксации записи, пользователь все равно увидит старый контент, но без задержки
[FWIW использовал этот подход для решения аналогичной проблемы... огромного, ужасно сложного SQL-запроса, который должен был получить данные из SQL Server, а затем выполнить несколько подзапросов к базе данных MySQL и консолидировать ответ. Используя промежуточную страницу вывода и полагаясь на кэширование IIS и браузера, пользователи иногда имели немного более устаревшие данные, что было абсолютной правдой, но они никогда не подвергались действительному времени отклика основного запроса]