Как реализовать кроссплатформенный обратный прокси

Ищите обратный прокси-сервер для кэширования, который может выполнять следующие действия: 1. быть установленным в местах расположения спутников, чтобы снять нагрузку с центрального контент-сервера 2. кэшировать 5-10 ГБ статических ресурсов img/swf с исходного сервера и обнаруживать обновления носителей 3. НЕТ браузера необходима перенастройка (без настроек прокси-сервера) 3. Поддержка пула или балансировки нагрузки (приятно иметь). 4. позволяет начальное заполнение активов из местных СМИ (приятно иметь).

ограничения: 1. кроссплатформенность для Windows и Mac. 2. довольно прост в настройке / обслуживании и должен работать на посредственном оборудовании. 3. лицензия должна позволять коммерческое использование

Мои первые мысли были: найти решение, написанное полностью на Java или другом переносимом языке, или написать свое собственное минимальное решение на Java, или создать образ виртуальной машины Squid/Traffic Server/Nginx и т. Д., Работающий на Linux.

Еще не нашли хороший пакет, и я беспокоюсь, что использование виртуальной машины может быть слишком медленным. Это не моя область знаний, поэтому я надеюсь, что есть хорошие идеи.

2 ответа

Решение

Вы рассматривали apache httpd с mod_proxy и mod_cache?

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

http://httpd.apache.org/docs/2.0/mod/mod_cache.html

Varnish - кеширование контролируется правилами на сервере лака в сотрудничестве с заголовками с исходных серверов.

Балансировка нагрузки - что-то вроде haproxy должно сработать, не уверен, хорош ли лак в этом или нет. Балансировка нагрузки и кэширование - две разные функции - держите их отдельно, если можете.

Что касается обнаружения изменений и их выталкивания - это больше проблема дизайна приложения. Если вы установите таймауты кэша (на всех уровнях, чтобы ваши обратные прокси-серверы, а также клиентские браузеры вели себя согласованно), то новый контент должен быть подобран соответствующим образом.

Для массовой загрузки нового контента вы можете просто включить что-то в прокси для hte контента и сделать так, чтобы они предварительно загрузили его.

Если вы хотите следить за изменениями... не совсем уверены в этом, но если Varnish не может сделать это самостоятельно, это достаточно простой сценарий для написания.

Другие вопросы по тегам