Virtualization

如何實現跨平台反向代理

  • August 29, 2010

尋找可以執行以下操作的記憶體反向代理: 1. 安裝在衛星位置以減輕中央內容伺服器的負載 2. 從源伺服器記憶體 5-10 GB 靜態 img/swf 資產並檢測媒體更新 3. 沒有瀏覽器需要重新配置(無需代理設置調整) 3. 支持池或負載平衡(很高興擁有)。4. 允許從本地媒體進行資產的初始播種(很高興擁有)。

限制: 1. windows & Mac 跨平台。2. 相當容易設置/維護並且必須在平庸的硬體上執行。3. 許可證應允許商業用途

我的第一個想法是:找到一個完全用 Java 或其他可移植語言編寫的解決方案,或者用 Java 編寫我自己的最小解決方案,或者創建一個在 Linux 上執行的 Squid/Traffic Server/Nginx 等的 VM 映像。

還沒有找到一個好的包,我擔心使用虛擬機可能太慢了。這不是我的專業領域,所以我希望那裡有一些好的想法。

您是否考慮過帶有 mod_proxy 和 mod_cache 的 apache httpd?

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

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

Varnish - 記憶體可通過 varnish 伺服器上的規則與來自源伺服器的標頭一起控制。

負載平衡 - 像 haproxy 這樣的東西應該​​可以解決問題,不確定 varnish 是否擅長於此。負載平衡和記憶體是兩個不同的功能 - 如果可以,請將它們分開。

至於檢測更改並將其推出 - 這更多是應用程序設計問題。如果您設置記憶體超時(在所有級別,因此您的反向代理以及客戶端瀏覽器的行為一致),那麼應該適當地拾取新內容。

對於批量載入新內容,您可以簡單地讓代理獲取 hte 內容並讓他們預載入它。

如果您想監視更改…. 不完全確定那個-但如果 Varnish 不能自己完成,它是一個足夠簡單的腳本來編寫。

引用自:https://serverfault.com/questions/175684