Какие серийные кэши для колясок https доступны, если таковые имеются? - PullRequest
0 голосов
/ 03 октября 2019

Я создаю распределенное приложение, которое в значительной степени зависит от вызовов HTTPS, как внутренних, так и внешних. AWS CloudFront уже реализован перед серверами API, но я хотел бы также использовать кэширование в приложении, чтобы избежать ненужных HTTP-вызовов - даже в CloudFront.

Прежде всего я рассматривал возможность пользовательского кэширования в приложении дляHTTP ответы. Большинство библиотек кэширования (для Node) построены таким образом, что TTL кэша является постоянным или зависит от ключа, в то время как ответы HTTP от внешних служб могут отличаться. Это потребовало бы, чтобы я прочитал заголовки Cache-Control из ответа и отреагировал соответствующим образом. Однако это похоже на изобретение колеса. (Для записей я рассмотрел такие проекты, как cached-request и lru-cache )

Другим решением было бы использование существующего HTTPS-кэша, такого как Squid, и routeвсе внешние запросы через сервер Squid и пусть Squid принимает все решения по кешированию. Squid может быть установлен на каждом сервере как локальный кеш. К сожалению, все внешние HTTP-запросы на самом деле являются HTTPS, поэтому Squid не может ничего кешировать.

Я нашел проект под названием mitmproxy , но он также не выполняет кеширование.

В конце концов: существуют ли какие-либо производственные решения для кэширования HTTPS на стороне клиента на сервере приложений?

...