雙squid服務器負載均衡

本文只是爲了詳細瞭解squid的集羣負載均衡的配置而模擬出來的一個實驗環境。目的是想深刻了解squid反向代理以及squid集羣負載均衡的配置。也是對近期squid學習成果的檢驗,準備的環境比較簡單,可能沒有實用價值,只是瞭解其配置思路。web

背景描述:
一家公司要提供互聯網服務,爲了保證訪問性能,採用squid反向代理來實現,來提升性能。想像架構圖以下:緩存

squid負載均衡集羣 - koumm - koumm的博客

(1)公司域名www.abc.com,經過dns輪循的方式,指向AB兩臺squid反向代理服務器。
(2)A
B squid反向代理服務器的環境以下,他們分別代理內網的兩臺web服務器,web1,web2,兩臺web服務器內容同步,實現高可能性與負載均衡,web服務器的架構在些不作紹。
A:squid
反向代理服務器
IP:192.168.129.21/24(
外網ip)
    192.168.1.1(
內網ip)
B:squid
反向代理服務器
IP:192.168.129.22/24(
外網ip)
    192.168.1.2(
內網ip)
web1:
IP:192.168.1.20
web2:
IP:192.168.1.30
服務器

squid反向代理負載均衡配置
分別在A,B上安裝Squid,配置好相關環境。
1.A服務器squid配置以下:
vi /etc/squid/squid.conf
架構

http_port 192.168.129.21:80 vhost     /*監聽本機全部接口*/
cache_mem 64 MB
cache_dir ufs /var/spool/squid 4096 16 256
cache_effective_user squid
cache_effective_group squid
dns_nameservers 202.103.24.68
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
visible_hostname 192.168.1.1
cache_mgrabc@126.com
負載均衡

#icp通信端口設置爲3130,squid之間緩存同步查詢數據時用的。
icp_port 3130
#A
反向代理的內部服務器
cache_peer 192.168.1.20 parent 80 0 no-query originserver no-digest name=a  
cache_peer 192.168.1.30 parent 80 0 no-query originserver no-digest name=b
dom

#鏈接本地的與另外一臺Squid工做在sibling模式,實現數據的調取
cache_peer 192.168.129.21 sibling 80 3130 name=cache1   
cache_peer 192.168.129.22 sibling 80 3130 name=cache2   
性能

acl Safe_ports port 80
acl Safe_ports port 3130
#
容許以上端口的代理學習

cache_peer_domain awww.abc.com
cache_peer_domain bwww.abc.com
ui

acl all src 0.0.0.0/0.0.0.0
http_access allow all
cache_peer_access a allow all
cache_peer_access b allow all
spa

2.B服務器squid配置以下:
vi /etc/squid/squid.conf

http_port 192.168.129.22:80 vhost     /*監聽本機全部接口*/
cache_mem 64 MB
cache_dir ufs /var/spool/squid 4096 16 256
cache_effective_user squid
cache_effective_group squid
dns_nameservers 202.103.24.68
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
visible_hostname 192.168.1.2
cache_mgrabc@126.com

icp_port 3130  

cache_peer 192.168.1.20 parent 80 0 no-query originserver no-digest name=a  
cache_peer 192.168.1.30 parent 80 0 no-query originserver no-digest name=b

cache_peer 192.168.129.21 sibling 80 3130 name=cache1   
cache_peer 192.168.129.22 sibling 80 3130 name=cache2   

acl Safe_ports port 80
acl Safe_ports port 3130

cache_peer_domain awww.abc.com
cache_peer_domain bwww.abc.com

acl all src 0.0.0.0/0.0.0.0
http_access allow all
cache_peer_access a allow all
cache_peer_access b allow all

案例配置分析:
squid負載均衡集羣 - koumm - koumm的博客

 squid1squid2是姐妹關係,squid1,squid2squid是父子關係,squidweb也是父子關係.
[IP
分配信息]
squid    192.168.5.163
squid1   192.168.5.161
squid2   192.168.5.165
web      192.168.5.162
根據上面的案例,在實際應用中能夠實際各類不一樣應用。
======
squid1
======
http_port 80 accel vhost vport
icp_port 3130
cache_peer 192.168.5.161 parent 80 0 no-query originserver no-digest name=cache0
cache_peer 192.168.5.161 sibling 80 3130 name=cache1
cache_peer 192.168.5.163 sibling 80 3130 name=cache2
cache_peer 192.168.5.165 sibling 80 3130 name=cache3
cache_peer_domain cache0 www.squid.com
acl Safe_ports port 80
acl Safe_ports port 3130
======
squid2
======
http_port 80 accel vhost vport
icp_port 3130
cache_peer 192.168.5.165 parent 80 0 no-query originserver no-digest name=cache0
cache_peer 192.168.5.161 sibling 80 3130 name=cache1
cache_peer 192.168.5.163 sibling 80 3130 name=cache2
cache_peer 192.168.5.165 sibling 80 3130 name=cache3
cache_peer_domain cache0 www.squid.com
acl Safe_ports port 80
acl Safe_ports port 3130
======
squid
======
http_port 80 accel vhost vport
icp_port 3130
cache_peer 192.168.5.163 parent 80 0 no-query originserver no-digest name=cache0
cache_peer 192.168.5.161 sibling 80 3130 name=cache1
cache_peer 192.168.5.163 sibling 80 3130 name=cache2
cache_peer 192.168.5.165 sibling 80 3130 name=cache3
cache_peer_domain cache0 www.squid.comacl Safe_ports port 80acl Safe_ports port 3130

相關文章
相關標籤/搜索