Varnish缓存负载均衡backend的实现

简介:

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

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

Varnish的负载均衡实验步骤:

环境准备:

在虚拟机上准备3台centos7,一台做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,就可以看到本次是轮询方式,看到负载均衡实现了

时间: 2024-11-04 23:24:17

Varnish缓存负载均衡backend的实现的相关文章

Varnish的负载均衡、动静分离

一.Varish的简介 Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好. 在当前主流的Web架构中,Cache担任着越来越重要的作用.常见的基于浏览器的C/S架构,Web Cache更是节约服务器资源的关键.而最近几年由FreeBSD创始人之一Kamp开发的varnish更是一个不可多得的Web Cache Server.严格意义上说,Varnish是一个高性能的反向代理软件,只不过

Nginx做为CDN缓存负载均衡代理的配置实现

系统架构: nginx+tomcat+mysql 本文只做Nginx做为CDN缓存负载均衡代理的配置实现的介绍 相关软件: nginx-1.8.1.tar.gz ngx_cache_purge-2.3.tar.gz (用于手动清理缓存) 一.nginx安装 [[email protected] ~]tar -xf nginx-1.8.1.tar.gz [[email protected] ~]tar -xf ngx_cache_purge-2.3.tar.gz -C /usr/local/ngx

nginx 防盗链+动静分离+反向代理+缓存+负载均衡

修改nginx/conf/nginx.conf,修改完后如下: user www www; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default

nginx 防盗链+动静分离+反向代理+缓存+负载均衡 (转发)

修改nginx/conf/nginx.conf,修改完后如下: [php] view plaincopyprint? user  www www; worker_processes  1; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid        logs/nginx.pid; events { worker_connections 

Nginx反向代理、缓存、 负载均衡、upstream以及fastcgi模块应用

Nginx反向代理,缓存, 负载均衡, upstream及fastcgi模块应用 Nginx版本为nginx-1.6.2-1.el6.ngx.x86_64.rpm可以去官网下载: http://nginx.org/packages/centos/6/x86_64/RPMS/ [[email protected] ~]# rpm -ivhnginx-1.6.2-1.el6.ngx.x86_64.rpm [[email protected] ~]# vim/var/www/html/index.ht

分布式缓存中三种负载均衡的方法

本文主要是比较三种分布缓存负载均衡的方法,第一种是最简单的将 key的hash值对机器数取模算法,第二种是一致性哈希算法,第三种是淘宝开源的缓存解决方案tair的均衡算法.下面来分析下这三种算法的优缺点. 第一种:传统的数据分布方法,将key的hash值对机器数取模 这个算法的实现非常简单,计算hash(key)/n,n为机器数,得到的值就是该key需要路由到的服务器编号了. 优点:实现简单 缺点:在服务器数量发生变化的时候,缓存会大量失效. 第二种:一致性hash 试想下如果使用传统取模算法.

Varnish缓存机制详细介绍及简单配置

Varnish是一款高性能的开源HTTP加速器,其主要用来做为反向代理中的缓存服务器使用,但其实Varnish本身也是具有反向代理功能的,但在创建连接和维持连接上,与Nginx相比差距很大,现在有一个很流行的架构就是前端用Nginx作为反向代理,后面加Varnish缓存服务器为Web服务加速 在将Varnish前先谈谈我们的浏览器缓存机制,现在的浏览器基本都具有缓存功能,它能将我们以前访问过的静态内容和可进行缓存的动态内容缓存再本地,而后在下次访问相同资源时,如果可以确认Server端的资源未发

Varnish缓存代理简介与配置

一.varnish原理: 1)Varnish简介: varnish缓存是web应用加速器,同时也作为http反向缓存代理.你可以安装varnish在任何http的前端,同时配置它缓存内容.与传统的 squid 相比,varnish 具有性能更高.速度更快.管理更加方便等诸多优点.有一部分企业已经在生产环境中使用其作为旧版本的squid的替代方案,以在相同的服务器成本下提供更好的缓存效果,Varnish更是作为CDN缓存服务器的可选服务之一. 根据官网的介绍,Varnish的主要特性如下:http

linux之搭建varnish缓存代理服务器

一.varnish原理: 1)Varnish简介: varnish缓存是web应用加速器,同时也作为http反向缓存代理.你可以安装varnish在任何http的前端,同时配置它缓存内容.与传统的 squid 相比,varnish 具有性能更高.速度更快.管理更加方便等诸多优点.有一部分企业已经在生产环境中使用其作为旧版本的squid的替代方案,以在相同的服务器成本下提供更好的缓存效果,Varnish更是作为CDN缓存服务器的可选服务之一. 根据官网的介绍,Varnish的主要特性如下:http