架构说明:用户请求到达前端,通过haproxy调度到varnish缓存服务器上,当缓存服务器上的资源命中且未过期时直接叫资源响应改用户,当未命中时通过在两台varnish服务器上设置匹配规则将其转发至后端响应的动态和静态服务器上,后端动态或静态服务器均使用nfs网络文件共享使用同一个资源目录,同时将使用同一台厚分离出来的mysql服务器作为存储数据使用,考虑单点故障的瓶颈,mysql服务器将使用主从两台实现高可用主负责读写均可,但从服务器为只读,同理路由需要也可在前端haproxy代理提供冗余。
实验环境如下:
前端:HAProxy
1、调度服务器:Varnish1、Varnish2
2、调度算法一致性URL哈希:URL_Hash_Consistent
3、集群统计页:ipaddr/haproxy?admin
缓存服务器:Varnish
1、VarnishServer01
2、VarnishServer02
3、开启健康状态探测,提供高可用
4、负载均衡后端Web服务器组
5、动静分离后端服务器,并动静都提供负载均衡效果
后端服务器:
StaticServer01
StaticServer02
DynamicServer01
DynamicServer02
Mysql服务器:
MysqlServer-master
MysqlServer-slave
haproxy配置如下: