Haproxy部署网站LB集群

前言:lvs和haproxy的区别

lvs:

1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生;

2、无流量,保证了均衡器IO的性能不会收到大流量的影响;

3、应用范围比较广,因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡

4、工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,

如LVS+Keepalived,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived。

Haproxy:

1、HAProxy也是支持虚拟主机的

HAProxy跟LVS类似,本身就只是一款负载均衡软件,基于七层;

2、单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,

在并发处理上也是优于Nginx的;

3、HAProxy支持TCP协议的负载均衡转发,

可以对MySQL读进行负载均衡,对后端的MySQL节点进行检测和负载均衡

准备工作:

1、准备四台主机:IP地址规划是

4.49,4.50(haproxy),4.51(web),4.52(web)

2、在4.50 上安装haproxy软件,在4.51和4.52上

安装httpd软件

一、普通LB集群

1、修改配置文件:vim /etc/haproxy/haproxy.cfg

把60行以下的内容全部删除,增加下面的内容

stats                   uri /admin

60     listen    lbweb         0.0.0.0:80

61     cookie    SERVERID      rewrite

62     balance roundrobin

63     server web51 192.168.4.51:80 cookie  app51 check inter 2000 rise 2 fall 5

64     server web52 192.168.4.52:80 cookie  app52 check inter 2000 rise 2 fall 5

2、可以去页面查看健康性:http://192.168.4.50/admin

3、测试:停掉其中一台web服务器,去后台查看后台的session会话的次数

二、区分业务的LB集群

1、用四台服务器测试

4.51和4.52做html负载,4.53和4.54做php的负载

2、上面4.51和4.52已经做好了,现在把4.53和4.54做好php的网站

3、修改配置文件:vim /etc/haproxy/haproxy.cfg

59     stats      uri    /admin

60 #---------------------------------------------------------------------

61 # main frontend which proxys to the backends

62 #---------------------------------------------------------------------

63 frontend  weblb 192.168.4.100:80

64 #    acl url_static       path_beg       -i /static /images /javascript /stylesheets

65     acl path_html       path_end       -i .html

66     acl path_php        path_end       -i .php

67

68     use_backend htmlg          if path_html

69     use_backend phpg           if path_php

70     default_backend            htmlg

71

72 #---------------------------------------------------------------------

73 # static backend for serving up images, stylesheets and such

74 #---------------------------------------------------------------------

75 #backend static

76 #    balance     roundrobin

77 #    server      static 127.0.0.1:4331 check

78

79 #---------------------------------------------------------------------

80 # round robin balancing between the various backends

81 #---------------------------------------------------------------------

82 backend htmlg

83     balance     roundrobin

84     server  app101 192.168.4.101:80 check

85     server  app102 192.168.4.102:80 check

86

87 backend phpg

88     balance     roundrobin

89     server  app103 192.168.4.103:80 check

90     server  app104 192.168.4.104:80 check

4、保存配置,重启服务,测试:

在四台服务器上分别放上test.html和test.php网页文件

在客户端分别测试,可以得出预期的结果

原文地址:http://blog.51cto.com/453412/2087017

时间: 2024-09-28 16:15:01

Haproxy部署网站LB集群的相关文章

配置LVS/DR模式的LB集群

集群与存储 Day2 配置LVS/DR模式的LB集群1 配置网站服务器 51/521.1 配置VIP地址[[email protected] ~]# ifconfig lo:1 192.168.4.252/32[[email protected] ~]# ifconfig lo:1 1.2 修改网络接口运行参数/proc/sys/net/ipv4/conf[[email protected] conf]# echo 1 > lo/arp_ignore [[email protected] con

linux系统构架 - LB集群之LVS介绍

LB 集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有 nginx.lvs.keepalived ,商业的硬件负载设备 F5.Netscale. LB 集群的架构如下图,原理也很简答,就是当用户的请求过来时,会直接发到分发器(Director Server)上,然后它把用户的请求根据预先设置好的算法,智能均衡地分发到后端的真正服务器(real server)上.如果不同的机器,可能用户请求到的数据不一样,为了避免这样的情况发生,所以用到了共享存储

负载均衡集群介绍(LB集群)、 LVS介绍、LVS NAT模式、LVS DR模式

负载均衡集群介绍(LB集群) LB集群是load balance集群的简写,翻译成中文就是负载均衡集群 负载均衡的原理就是当用户的请求过来时,会直接发到分发器上,然后它把用户的请求根据预先设置好的算法,只能均衡的分发到后端真正的服务器上.如果不同的机器,可能用户请求到的数据不一样,为了避免这样的情况发生,所有用到了共享存储,这样保证所有的用户请求的数据是一样的 主流开源软件LVS.keepalived.haproxy.nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,

基于keepalived对HAproxy做高可用集群

一.Keepalived简介 Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器. Layer3,4&7工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下: Layer3:Keepalived使用Layer3的方式

Haproxy+mysql cluster( MySQL 集群) 配置

一.准备 1.准备服务器 建立有2个节点的MySQL CLuster体系,使用6台服务器建立Haproxy+mysql cluster( MySQL 集群) 体系 节点配置说明 节点 对应的IP和端口 Haproxy负载均衡(1个) centos 6.3 1.1.1.11  管理节点(1个) centos 6.3  1.1.1.30  SQL节点 (2个) centos 6.3  1.1.1.21  1.1.1.22  数据节点 (2个) centos 6.3  1.1.1.31  1.1.1.

手把手教你用Docker部署一个MongoDB集群

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引.本文介绍了如何使用Docker搭建MongoDB集群. 本文我会向大家介绍如何使用Docker部署一个MongoDB集群,具体如下: 2.6.5版本的MongoDB 有3个节点的副本集(Replica set) 身份验证 持久化数据到本地文件系统 首先要准备三个运行的Docker服务器,这意味着你

将java开发的wordcount程序部署到spark集群上运行

1 package cn.spark.study.core; 2 3 import java.util.Arrays; 4 5 import org.apache.spark.SparkConf; 6 import org.apache.spark.api.java.JavaPairRDD; 7 import org.apache.spark.api.java.JavaRDD; 8 import org.apache.spark.api.java.JavaSparkContext; 9 impo

部署Hadoop高性能集群

部署Hadoop高性能集群 服务器概述 1)Hadoop是什么 Hadoop是Lucene创始人Doug Cutting,根据Google的相关内容山寨出来的分布式文件系统和对海量数据进行分析计算的基础框架系统,其中包含MapReduce程序,hdfs系统等. Hadoop包括两大核心,分布式存储系统和分布式计算系统. 2)分布式存储 为什么数据需要存储在分布式的系统中哪,难道单一的计算机存储不了吗,难道现在的几个TB的硬盘装不下这些数据吗?事实上,确实装不下.比如,很多的电信通话记彔就存储在很

docker 部署nginx+weblogic集群

测试一段时间,再来报告 docker 部署nginx+weblogic集群