1 负载均衡
(1)为什么需要负载均衡
我们在日常生活中经常免不了要去一些比较拥挤的地方,比如地铁站、火车站、电影院、银行等。无论是买票,还是排队入场,这些场所一般都会设置多个服务点或者入口的。如果没有人引导的话,大多数情况下,最近的入口会挤满人。
这种情况下,就会大大浪费资源,因为如果可以把这些排队的人很好的分散到各个入口的话会大大缩短排队时间。其实,网站的建设也是一样的。为了提升网站的服务能力,很多网站采用集群部署,就像话剧院有多个入口一样。这时候,就需要一个协调者,来均衡的分配这些用户的请求,可以让用户的可以均匀的分派到不同的服务器上。
(2)概念
负载均衡(Load Balance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。
我们一般会把多台服务器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如www.taobao.com。那么当用户在浏览器输入www.taobao.com的时候如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡在做的事情。
2 配置Apache虚拟机
在server3中进行Apache多站点访问配置:
vim /etc/httpd/conf.d/vhost.conf
- 分别对不同站点建立测试页,编辑其内容
mkdir /www
mkdir /bbs
vim /www/index.html
vim /bbs/index.html
注意:这里的测试页面内容便于观察实验效果,内容不同。
3 配置代理服务器varnish
在varnish服务器上进行配置(即我们这里的server1),定义负载均衡
vim /etc/varnish/default.vcl
指定轮询的后端服务器:
注意:此处的return (pass)是为了查询一次就清除一次缓存,避免缓存对实验效果的影响
导入重要模块:
这个模块一定要导入,不然会报错!
在vcl 4.1下面一行写入:
最后重启varnish服务
systemctl restart varnish
4 测试
在真机中(即我们这里的classroom)进行测试: