门户网站分流(二)
来源:互联网 发布:linux ffmpeg 编辑:程序博客网 时间:2024/04/28 16:09
若純粹以交換機來做 WWW 的分流,我相信貴公司一定很有錢
一般來說,WWW 負載平衡有幾種做法:
1. 交換機做法,依請求來分流,發佈的 IP 只有一個或少數幾個,但透過交換機的功能,導到交換
機下的某些其他主機
2. 透過 DNS 的 Round Robin 機制,隨機選取 IP 進行連接,意義等同於 (1),但可跨物理區隔
3. 透過 DNS 的 Round Robin + View 功能,達到同 (1)(2) 效果,並且具有依 Source IP 不同,
連接到不同 WWW Server 之功能
4. 透過反向代理 (Reverse Proxy) 可以達到負載平衡,減少 Disk I/O 存取,例如一般的 Apache
即有的功能(Apache 效能可能沒有 squid or pound 等好)
5. LVS 或 HA 做法..或其他方法,非本處主題
Ex:
不做 Cache , 這樣做和交換機做有什麼差別呢 ? 重點是 Apache 不用錢!
唯 Apache 在 R-Proxy 上的表現效果較沒有 Squid 或 Pound 好,但個人用意
只在說明,了解原理及技巧,可以省下很多銀子.更何況若上面三台你有一台掛了
並不會影響前端的請求,Apache R-Proxy 還是可以正確顯示頁面.
(http://httpd.apache.org/docs/mod/mod_proxy.html)
至於 Squid 也可以不做 Cache ,每次都到後台抓,也可以做 Cache , 但根據前幾篇
我所提到的問題,若每個 html 或動態頁面都要產生 Cache-Control 或是 Expire,
顯然會很費事,透過 Apache 的 mod_expires (http://httpd.apache.org/docs/mod/mod_expires.html)
gif 圖檔一個月才做更新動作 ...
我們再想想,為什麼用反向代理的問題,如果您用交換機做或方法 (2) 做的話,會存
在每部 WWW Server 資料同步問題,當然不做 Cache 導向後台N 部這種做法亦同.
做反向代理緩存,不就存在這些問題了,因為時候到(Expire),有新的請求時他自然會去更新
及前面我寫的部份,我才能推論, www.sina.com.cn 是 (3)+(4) 的組合
只要對 protocol 及工具的了解夠,不見得要花太多錢,更何況, sina 這種做法
有 Source IP 特性分流,及能夠跨不同的實體位址(交換機的分流做法是每部 WWW
都得在同一部交換機後),同步問題.....我相信是一個相當好的做法,交換機做法
我只要打跨你的實體線路流量就全掛了.
一般來說,WWW 負載平衡有幾種做法:
1. 交換機做法,依請求來分流,發佈的 IP 只有一個或少數幾個,但透過交換機的功能,導到交換
機下的某些其他主機
2. 透過 DNS 的 Round Robin 機制,隨機選取 IP 進行連接,意義等同於 (1),但可跨物理區隔
3. 透過 DNS 的 Round Robin + View 功能,達到同 (1)(2) 效果,並且具有依 Source IP 不同,
連接到不同 WWW Server 之功能
4. 透過反向代理 (Reverse Proxy) 可以達到負載平衡,減少 Disk I/O 存取,例如一般的 Apache
即有的功能(Apache 效能可能沒有 squid or pound 等好)
5. LVS 或 HA 做法..或其他方法,非本處主題
Ex:
CODE:
[Copy to clipboard]
# DNS 分別有 www1/www2/www3 A 記錄
#Apache 1.3 example 1, 負載平衡需要 RewriteMap
<IfModule mod_proxy.c>;
ProxyRequests On
NoCache *
ProxyPassReverse / http://www1.chinaunix.com/
ProxyPassReverse / http://www2.chinaunix.com/
ProxyPassReverse / http://www3.chinaunix.com/
</IfModule>;
#Apache 1.3 example 1, 負載平衡需要 RewriteMap
<IfModule mod_proxy.c>;
ProxyRequests On
NoCache *
ProxyPassReverse / http://www1.chinaunix.com/
ProxyPassReverse / http://www2.chinaunix.com/
ProxyPassReverse / http://www3.chinaunix.com/
</IfModule>;
CODE:
[Copy to clipboard]
# DNS www.chinaunix.com 為 CNAME , 到 www1/www2/www3 即同上理
# DNS 要允許 multiple cname
#Apache 1.3 example 1, 負載平衡不需要 RewriteMap
<IfModule mod_proxy.c>;
ProxyRequests On
NoCache *
ProxyPassReverse / http://www.chinaunix.com/
</IfModule>;
# DNS 要允許 multiple cname
#Apache 1.3 example 1, 負載平衡不需要 RewriteMap
<IfModule mod_proxy.c>;
ProxyRequests On
NoCache *
ProxyPassReverse / http://www.chinaunix.com/
</IfModule>;
CODE:
[Copy to clipboard]
#squiud 部份設定, 只允許代理到 .chinaunix.com 的請求
# 例如 www.chinaunix.com 的 Address 需設定到這台 Proxy
# 但此部 proxy 需在 /etc/hosts 中建立後台 www.chinaunix.com 的位址
# (因為 DNS 巳指定了 www.chinaunix.com 的位址)
http_port 80
httpd_accel_host virtual
httpd_accel_single_host off
httpd_accel_port 80
httpd_accel_uses_host_header on
httpd_accel_with_proxy on
# accelerater my domain only
acl mydomain dstdomain www.chinaunix.com
http_access allow mydomain
# ...其他 acl 略
我們可以看到Apche NoCache 項目,收到一個請求,導到後台中三台任一台,# 例如 www.chinaunix.com 的 Address 需設定到這台 Proxy
# 但此部 proxy 需在 /etc/hosts 中建立後台 www.chinaunix.com 的位址
# (因為 DNS 巳指定了 www.chinaunix.com 的位址)
http_port 80
httpd_accel_host virtual
httpd_accel_single_host off
httpd_accel_port 80
httpd_accel_uses_host_header on
httpd_accel_with_proxy on
# accelerater my domain only
acl mydomain dstdomain www.chinaunix.com
http_access allow mydomain
# ...其他 acl 略
不做 Cache , 這樣做和交換機做有什麼差別呢 ? 重點是 Apache 不用錢!
唯 Apache 在 R-Proxy 上的表現效果較沒有 Squid 或 Pound 好,但個人用意
只在說明,了解原理及技巧,可以省下很多銀子.更何況若上面三台你有一台掛了
並不會影響前端的請求,Apache R-Proxy 還是可以正確顯示頁面.
(http://httpd.apache.org/docs/mod/mod_proxy.html)
至於 Squid 也可以不做 Cache ,每次都到後台抓,也可以做 Cache , 但根據前幾篇
我所提到的問題,若每個 html 或動態頁面都要產生 Cache-Control 或是 Expire,
顯然會很費事,透過 Apache 的 mod_expires (http://httpd.apache.org/docs/mod/mod_expires.html)
CODE:
[Copy to clipboard]
ExpiresByType text/html "access plus 1 hours"
ExpiresByType image/gif "access plus 1 month"
# 當然, squid 中也有可以設定類似這個功能的地方
就可以實現讓做 Cahce 的 R-Proxy , 每一小時才做頁面(text/html)更新的動作ExpiresByType image/gif "access plus 1 month"
# 當然, squid 中也有可以設定類似這個功能的地方
gif 圖檔一個月才做更新動作 ...
我們再想想,為什麼用反向代理的問題,如果您用交換機做或方法 (2) 做的話,會存
在每部 WWW Server 資料同步問題,當然不做 Cache 導向後台N 部這種做法亦同.
做反向代理緩存,不就存在這些問題了,因為時候到(Expire),有新的請求時他自然會去更新
及前面我寫的部份,我才能推論, www.sina.com.cn 是 (3)+(4) 的組合
只要對 protocol 及工具的了解夠,不見得要花太多錢,更何況, sina 這種做法
有 Source IP 特性分流,及能夠跨不同的實體位址(交換機的分流做法是每部 WWW
都得在同一部交換機後),同步問題.....我相信是一個相當好的做法,交換機做法
我只要打跨你的實體線路流量就全掛了.
- 门户网站分流(二)
- 门户网站分流(一)
- 系统设计二之实例门户网站
- 门户网站!
- 门户网站
- 门户网站
- 门户网站
- 门户网站
- 利用Nginx_Resin_tomcat为网站分流
- yanjiangbo谈门户网站!
- 什么是门户网站?
- 地方性门户网站推广
- 门户网站开发
- 门户网站开发总结
- 关于门户网站设计方案
- 门户网站运维
- 出售公司门户网站
- 门户网站运维
- 正确地做事与做正确的事同样重要
- 十年后的我们会是什么样的呢,二十年后的我国 会是什么样呢
- ubuntu安装亲身经历(by kelly)
- 门户网站分流(一)
- 给初学者:用VB写外挂 ———— 序言
- 门户网站分流(二)
- squid-2.6之Web反向代理加速实做/防盗链/防盗用/防爬虫
- 3D游戏从入门到精通-17
- 成为游戏制作者,你准备好了么?(转自gameres.com 作者:blacksteps)
- 用css实现表格背景透明,内容不透明
- 疯狂的石头
- 谁说做软件测试没有好的前途?反驳之
- 越简单越好?