高可用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,如需转载请自行联系原作者

相关文章
|
1月前
|
弹性计算 运维 监控
slb后端服务器组(Backend Server Group)关联
阿里云SLB的后端服务器组提供逻辑分组、精细化路由、端口隔离、权重分配与会话保持等功能,便于资源管理、流量控制和故障隔离。通过监听规则、健康检查、标签和API关联,实现灵活的后端资源配置,适应多变的业务需求,确保服务稳定性和资源利用率。
17 1
|
1月前
|
弹性计算 负载均衡 容灾
slb配置后端服务器组
配置阿里云SLB后端服务器组涉及四个主要步骤:创建服务器组、添加ECS实例、关联监听规则和设定负载均衡策略。这使得流量根据业务需求和服务器特性进行转发,便于应用架构的灵活管理和扩展,支持蓝绿部署、灰度发布,并通过多可用区提升系统可用性和容灾能力。
26 3
|
2月前
|
SQL 分布式计算 Hadoop
Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
【2月更文挑战第6天】Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
98 0
|
7月前
|
资源调度 Ubuntu JavaScript
从零开始在一个Ubuntu服务器上部署node后端
从零开始在一个Ubuntu服务器上部署node后端
|
1天前
|
JSON JavaScript 前端开发
服务器通信:使用WebSocket与后端实时交互
【4月更文挑战第24天】WebSocket为解决服务器与客户端实时双向通信问题而生,常用于聊天、游戏和实时通知等场景。本文通过4步教你实现WebSocket通信:1) 客户端使用JavaScript创建WebSocket连接;2) 监听`open`、`message`和`close`事件;3) 使用`send`方法发送数据;4) 使用`close`方法关闭连接。服务器端则需处理连接和数据发送,具体实现依后端技术而定。WebSocket为现代Web应用的实时交互提供了强大支持。
|
6天前
|
小程序 开发者
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
12 0
|
1月前
|
弹性计算 负载均衡
slb添加后端服务器
阿里云SLB服务用于流量分发,提升系统可用性和响应速度。添加ECS实例到SLB的步骤包括:登录控制台,选择“弹性计算”-&gt;“负载均衡”,找到目标SLB实例,进入详情页,点击“添加后端服务器”。挑选ECS实例,可按ID、名称或标签筛选,设置权重(默认100),并确保ECS实例状态正常,与SLB在同一地域,安全组允许SLB连接。添加后可考虑配置健康检查等高级选项。
14 1
|
1月前
|
弹性计算 负载均衡 网络安全
slb创建后端服务器组
在阿里云SLB服务中创建后端服务器组,需登录控制台,选择目标SLB实例,进入监听器设置,添加后端服务器。选择ECS实例或ENI,设定服务器端口和权重,然后保存设置。此操作将ECS实例纳入SLB的负载均衡与健康检查管理。
17 1
|
1月前
|
弹性计算 负载均衡
slb添加后端服务器
阿里云SLB服务实现流量分发,提升业务可用性和响应速度。添加后端服务器步骤包括:登录控制台,选择“弹性计算”-&gt;“负载均衡”,点击目标SLB实例进入详情,点击“后端服务器”-&gt;“添加ECS实例”。筛选并选择ECS实例,设置权重,确认后点击“确定”。添加后检查健康检查状态,确保ECS实例状态正常,同地域、可用区,并配置好安全组规则。
16 2
|
1月前
|
应用服务中间件 Apache nginx
web后端-web服务器对比
web后端-web服务器对比