URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10229
[ Назад ]

Исходное сообщение
"Нужно создать сервис кеширования xml запросов"

Отправлено universite , 15-Июн-18 13:04 
Здравствуйте.

Навеяно статьей на хабре - 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 ? Сохранять ли в сжатом или несжатом виде кешированные данные?

Задача чиста академическая, не имеет заказчика и спонсора.


Содержание

Сообщения в этом обсуждении
"Нужно создать сервис кеширования xml запросов"
Отправлено PereresusNeVlezaetBuggy , 16-Июн-18 08:47 
>[оверквотинг удален]
> Имеем публичный сервис, например  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 ? Сохранять ли в сжатом или несжатом виде
> кешированные данные?
> Задача чиста академическая, не имеет заказчика и спонсора.


"Нужно создать сервис кеширования xml запросов"
Отправлено universite , 16-Июн-18 13:44 
>[оверквотинг удален]
>> Вижу решения:
>> I. Настроить http(s) прокси на nginx и кешировать через nginx встроенными методами.
>> II. Самописными скриптами тянуть новые значения, сохранять локально и потом через nginx
>> отдавать статикой.
>> III. Поискать опенсорс решение.
>> Проблемы неясности:
>> I. Как пережить перезагрузку сервера, демона?
> Если юзать nginx, то он прекрасно умеет сохранять в дисковый кеш, переживающий
> рестарт:
> https://www.nginx.com/blog/nginx-high-performance-caching/#L...

Не прошло и 10 лет...


"Нужно создать сервис кеширования xml запросов"
Отправлено universite , 03-Июл-18 00:33 
>[оверквотинг удален]
>>> 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, что на головной сайт, что на зеркало одинаковые..

Пока не знаю куда копать.