Здравствуйте.Навеяно статьей на хабре - https://habr.com/post/358298/
Имеем публичный сервис, например http://www.cbr.ru/scripts/XML_daily.asp?date_req=16/12/2014
Надо закешировать значения и выдавать локально, не травмировать основной сервис.
Имеем ограниченную глубину запросов, например, кешируем данные после определенной даты.Вижу решения:
I. Настроить http(s) прокси на nginx и кешировать через nginx встроенными методами.
II. Самописными скриптами тянуть новые значения, сохранять локально и потом через nginx отдавать статикой.
III. Поискать опенсорс решение.Проблемы неясности:
I. Как пережить перезагрузку сервера, демона?
II. Как сделать универсальную иерархию хранения файлов? Сохранять ли URI целевого сервиса или сооружать свои URI? Какие потом через извратные реврайты отдавать статический контент в nginx ? Сохранять ли в сжатом или несжатом виде кешированные данные?Задача чиста академическая, не имеет заказчика и спонсора.
>[оверквотинг удален]
> Имеем публичный сервис, например http://www.cbr.ru/scripts/XML_daily.asp?date_req=16/12/2014
> Надо закешировать значения и выдавать локально, не травмировать основной сервис.
> Имеем ограниченную глубину запросов, например, кешируем данные после определенной даты.
> Вижу решения:
> I. Настроить http(s) прокси на nginx и кешировать через nginx встроенными методами.
> II. Самописными скриптами тянуть новые значения, сохранять локально и потом через nginx
> отдавать статикой.
> III. Поискать опенсорс решение.
> Проблемы неясности:
> I. Как пережить перезагрузку сервера, демона?Если юзать nginx, то он прекрасно умеет сохранять в дисковый кеш, переживающий рестарт:
https://www.nginx.com/blog/nginx-high-performance-caching/#L...
> II. Как сделать универсальную иерархию хранения файлов? Сохранять ли URI целевого сервиса
> или сооружать свои URI? Какие потом через извратные реврайты отдавать статический
> контент в nginx ? Сохранять ли в сжатом или несжатом виде
> кешированные данные?
> Задача чиста академическая, не имеет заказчика и спонсора.
>[оверквотинг удален]
>> Вижу решения:
>> I. Настроить http(s) прокси на nginx и кешировать через nginx встроенными методами.
>> II. Самописными скриптами тянуть новые значения, сохранять локально и потом через nginx
>> отдавать статикой.
>> III. Поискать опенсорс решение.
>> Проблемы неясности:
>> I. Как пережить перезагрузку сервера, демона?
> Если юзать nginx, то он прекрасно умеет сохранять в дисковый кеш, переживающий
> рестарт:
> https://www.nginx.com/blog/nginx-high-performance-caching/#L...Не прошло и 10 лет...
>[оверквотинг удален]
>>> I. Настроить http(s) прокси на nginx и кешировать через nginx встроенными методами.
>>> II. Самописными скриптами тянуть новые значения, сохранять локально и потом через nginx
>>> отдавать статикой.
>>> III. Поискать опенсорс решение.
>>> Проблемы неясности:
>>> I. Как пережить перезагрузку сервера, демона?
>> Если юзать nginx, то он прекрасно умеет сохранять в дисковый кеш, переживающий
>> рестарт:
>> https://www.nginx.com/blog/nginx-high-performance-caching/#L...
> Не прошло и 10 лет...Сделал проксирование, только в Chrome XML чуть по-другому отображается, в FF - все ок.
В nginx'e по дефолту:
types { ...
text/xml xml;
...Ответы с помощью curl, что на головной сайт, что на зеркало одинаковые..
Пока не знаю куда копать.