高可用haproxy调度varnish服务器缓存后端动静分离集群架构

简介:

(1) 动静分离部署wordpress,动静都要能实现负载均衡,要注意会话的问题;

(2) 在haproxy和后端主机之间添加varnish进行缓存;

(3) 设计拓扑;

(4) haproxy的设定要求:

 (a) stats page,要求仅能通过本地访问使用管理接口; 

 (b) 动静分离;

 (c) 分别考虑不同的服务器组的调度算法;

(5) haproxy高可用;


实验规划:

利用keepalived主备高可用两个haproxy服务器

对varnish缓存服务器做高可用

动态web集群

静态web集群


haproxy1:     172.16.1.4

haproxy2:     172.16.1.2

varnish1:     172.16.1.5 

varnish2:     172.16.1.6

dynamic server1:172.16.1.3

dynamic server2:172.16.1.7

static server1: 172.16.1.10

static server2: 172.16.1.8


拓扑图

00.PNG


一、两台haproxy配置文件配置

haproxy1.PNG

haproxy2.PNG

启动服务

~]# systemctl start haproxy 

~]# systemctl status haproxy  #查看状态

~]# ss -tnlp  #查看80和9999端口是否启用

~]# systemctl enable haproxy #设置开机启动


二、keepalived的配置


haproxy1的keepalived配置

11111.PNG

haproxy2的keepalived配置

22222.PNG


三、两台varnish主机的配置


更改varnish的监听端口为80

[root@varnish1 ~]# vim /etc/varnish/varnish.params

VARNISH_LISTEN_PORT=80


varnish配置文件内容

[root@varnish1 ~]# vim /etc/varnish/default.vcl 

aaa.PNG

bbb.PNG

ccc.PNG


编译使配置生效


[root@varnish1 ~]# varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082

200        

-----------------------------

Varnish Cache CLI 1.0

-----------------------------

Linux,3.10.0-327.el7.x86_64,x86_64,-smalloc,-smalloc,-hcritbit

varnish-4.0.5 revision 07eff4c29


Type 'help' for command list.

Type 'quit' to close CLI session.


vcl.list

200        

available       0 boot

active          0 myconf3


varnish> vcl.load conf1 default.vcl

200        

VCL compiled.


vcl.use conf1

200        

VCL 'conf1' now active


vcl.list

200        

available       0 boot

available       0 myconf3

active          0 conf1


四、后端动静服务器wordpress主机配置


后端amp配置不做赘述


在动态主机的/var/www/html/下创建health.php用于动态健康状态检查

<h1>DynamicServer is Health.</h1>


在静态主机的/var/www/html/下创建health.html用于静态健康状态检查

<h1>StaticServer is Health.</h1>



五、客户端查看


客户端登陆haproxy的stats page

登陆.PNG

关闭一台varnish服务器后,可以在stats page看到一台正常运行,一台关闭了

登陆2.PNG


登陆wordpress可以看到之前正常上传图片的博客

捕获.PNG



六、总结


1、架构优点:

    (1)HAProxy为Varnish缓存服务器提供了高可用的负载均衡,其使用的算法,也为Varnish提升了缓存命中率;

    (2)HAProxy提供Web图形化管理界面,使得管理更加便捷高效;

    (3)Varnish的高效缓存机制极大的提升了Web应用的性能,降低了Web服务器的压力;

    (4)Varnish给后端Web服务器提供了高可用负载均衡,并使用了动态分离技术,保障了后端主机的冗余,显著提升了其性能;

    (5)使用Keepalive对HAproxy做高可用解决了单点故障问题。


2、不足之处:

    (1)该架构没有解决存储的问题。

    解决方案:可以使用NFS+Rsync+inodify实现数据实时同步,再用keepalive做高可用。

    (2)MysqlServer,没有分离

    解决方案:独立数据库服务器,对其设置数据库主从复制,读写分离;



本文转自 Runs_ 51CTO博客,原文链接:http://blog.51cto.com/12667170/2049994,如需转载请自行联系原作者

相关文章
|
存储 机器学习/深度学习 数据库
阿里云服务器X86/ARM/GPU/裸金属/超算五大架构技术特点、场景适配参考
在云计算技术飞速发展的当下,云计算已经渗透到各个行业,成为企业数字化转型的关键驱动力。选择合适的云服务器架构对于提升业务效率、降低成本至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供大家了解和选择参考。
1806 61
|
监控 Java 应用服务中间件
低并发编程|如何用720个请求让后端服务器瘫痪
本次故障因应用启动时未有效校验核心依赖模块初始化异常,导致后续请求处理中抛出无法捕获的错误,引发线程阻塞,最终耗尽HSF线程池,服务不可用。排查发现类初始化失败且异常未被正确处理,结合线程无限等待问题,确认为依赖初始化异常与流处理中断所致。修复措施包括加强启动校验、捕获Throwable及设置合理超时。总结指出,系统稳定性需从细节入手,防微杜渐,避免连锁故障。
低并发编程|如何用720个请求让后端服务器瘫痪
|
运维 监控 安全
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
405 0
|
存储 安全 虚拟化
全面解析服务器虚拟化:云计算时代的核心技术架构
服务器虚拟化是云计算的核心技术,通过资源池化提升IT效率。本文详解其原理、部署优势及在数字化转型中的关键作用,涵盖技术架构、应用场景与选型指南,助力企业构建高效灵活的云环境。
1202 0
|
弹性计算 负载均衡 Java
【上云基础系列 02-01】通过SLB+1台ECS+ESS弹性伸缩,搭建一个精简版的上云标准弹性架构(含方案及教程)
通常,构建一个弹性架构(即使是一个最基础的入门版),至少需要2台ECS。但是,很多小微企业刚开始上云的时候,为了节省成本不愿意购买更多的服务器。通过 “ALB+ESS弹性伸缩+1台ECS+RDS”方案,在保障低成本的同时,也不牺牲业务架构的弹性设计,更避免了很多人因为节省成本选择了单体架构后频繁改造架构的困局。 方案中的几个设计非常值得小微企业借鉴:(1)通过ALB/RDS的按量付费,节省了初期流量不大时的费用;(2)通过ESS弹性伸缩,不需要提前购买服务器资源,但是当业务增长或减少时却保持了资源弹性自动扩缩容。
|
存储 机器学习/深度学习 应用服务中间件
阿里云服务器架构解析:从X86到高性能计算、异构计算等不同架构性能、适用场景及选择参考
当我们准备选购阿里云服务器时,阿里云提供了X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等多种架构,每种架构都有其独特的特点和适用场景。本文将详细解析这些架构的区别,探讨它们的主要特点和适用场景,并为用户提供选择云服务器架构的全面指南。
1507 18
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。