Varnish緩存負載均衡backend的實現

簡介:

varnish是一款高性能並且開源的反向代理服務器和http加速器,據官方稱可有300-1000倍的速度提升,它採用了全新的軟件體系結構,和現在的硬件體系緊密結合,和傳統的squid相比,varnish具有性能更高、速度更快、管理更加方便等諸多優點,很多大型的網站都開始嘗試使用varnish來替代squid,這些促進了varnish的快速發展。

varnish在架構中扮演的結構角色拓撲圖:

0e48bef5631920999566c43618df4073.png

Varnish的負載均衡實驗步驟:

環境準備:

在虛擬機上準備3centos7,一臺做varnish,其它兩臺做後端服務器。

Varnish.server          varnish4.0      192.168.146.138       Centos7    

backend_server1       httpd2.4      192.168.146.136          Centos7

backend_server1       httpd2.4      192.168.146.137            Centos7

 

在三臺主機主機上關閉防火牆和selinux

關閉防火牆:

centos7

systemctl disable firewalld.service       #是讓開機啓動時關閉防火牆

systemctl stop firewalld.service          # 現在關閉防火牆

 iptables –F                    #清除防火牆策略

關閉selinux

sed -i s/^SELINUX=enforcing/SELINUX=disabled/etc/selinux/config

 

 

安裝光盤自帶的varnish軟件包和httpd:

192.168.146.138varnish服務器上安裝varnish

yum –y install varnish

在後端服務器上安裝httpd並啓動服務

yum –y install httpd

systemctl start httpd


varnish上的配置:

把默認的8080端口改成80

Vim /etc/varnish/ varnish.params

# VARNISH_LISTEN_ADDRESS=192.168.1.5

VARNISH_LISTEN_PORT=80

 

聲明負載均衡:

在主配置文件下/etc/varnish/default.vcl

定義backend主機

import directors;

定義後端服務器的子例程

backend srv1 {

.host ="192.168.146.137";  #指明後端主機

.port = "80";

.probe = healty;

}

backend srv2 {

    .host = "192.168.146.136";

    .port ="80";

    .probe = healty;

}

vcl_recv中調用

set req.backend_hint = srvs.backend(); 

因緩存的作用需要設置不緩存的方式纔可檢測出來

Sub vcl_recv {

  Set req.backend_hint = webservers.backend();

    if (req.url ~"(?i)^/(login|admin)") {

     return(pass);

}varnishadm登陸命令行終端

varnishadm -S /etc/varnish/secret-T 127.0.0.1:6082

 

加載vcl配置

Vcl.load test1 default.vcl

編譯配置文件

use.test1

 

backend後端服務器的配置測試httpd頁面

136服務器的配置

cd /var/www/html

mkdir login

echo <h1>login page @BE2</h1> > /login/index.html

136服務器的配置

cd /var/www/html

mkdir login

echo <h1>login page </h1> > /login/index.html

 

 

在瀏覽器上輸入192.168.146.138/login,就可以看到本次是輪詢方式,看到負載均衡實現了

73682fdbba0873ee50a3c7e021c679e8.png


517a2d5e2187734315699bf3f9e3f93a.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章