码迷,mamicode.com
首页 > 其他好文 > 详细

Varnish缓存负载均衡backend的实现

时间:2017-11-06 11:14:30      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:varnish缓存负载均衡的实现

简介:

varnish是一款高性能并且开源的反向代理服务器和http加速器,据官方称可有300-1000倍的速度提升,它采用了全新的软件体系结构,和现在的硬件体系紧密结合,和传统的squid相比,varnish具有性能更高、速度更快、管理更加方便等诸多优点,很多大型的网站都开始尝试使用varnish来替代squid,这些促进了varnish的快速发展。

varnish在架构中扮演的结构角色拓扑图:

技术分享

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,就可以看到本次是轮询方式,看到负载均衡实现了

技术分享


技术分享

本文出自 “12180356” 博客,请务必保留此出处http://12190356.blog.51cto.com/12180356/1979166

Varnish缓存负载均衡backend的实现

标签:varnish缓存负载均衡的实现

原文地址:http://12190356.blog.51cto.com/12180356/1979166

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!