企业实战-实现基于Haproxy负载均衡集群的电子商务网站架构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业实战-实现基于Haproxy负载均衡集群的电子商务网站架构相关的知识,希望对你有一定的参考价值。

企业实战:逐步实现企业各种情景下的需求


企业情景四:

随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务提供,不在和pc站点一起提供服务,此时需要做7层规则负载均衡,运维总监要求,能否用一种服务同既能实现七层负载均衡,又能实现四层负载均衡,并且性能高效,配置管理容易,而且还是开源。


情景说明:在企业生产环境中,每天会有很多的需求变更,比如增加服务器、新业务上线、url路由修改、域名配置等等,对于前端负载均衡设备来说,容易维护,复杂度低,是首选指标。在企业中,稳定压倒一切,与其搞得很复杂,经常出问题,不如做的简单和稳定。在企业中,90%以上的故障,来源于需求变更。可能是程序bug,也可能是人为故障,也可能是架构设计问题等等。前端负载均衡设备为重中之重,在软件选型上一定充分考虑,能满足业务的前提下,尽可能降低复杂度,提高易维护性。


项目四:实现基于Haproxy+Keepalived负载均衡高可用架构:

一、环境准备:

centos系统服务器4台、两台用于做haproxy主从架构,两台作为后端server,服务器配置好yum源、 防火墙关闭、各节点时钟服务同步、各节点之间可以通过主机名互相通信

二、安装步骤:

1 、iptables -F && setenforing 清空防火墙策略,关闭selinux

2 、拿两台服务器都使用yum 方式安装haproxy、keepalived服务

3 、后端服务器配置好基于LNMP 架构的web服务

三、修改配置文件:

1 .修改/etc/keepalived/keepalived.conf 配置文件内容

2 、对glob 段进行定义,添加管理员邮箱等

3 、对vrrp_instance 进行配置,配置一主一从,定义一个基于虚拟IP 的实例

4 、修改主haproxy 配置文件,定义全局配置,配置日志、启动用户、pid 文件等。

5 、修改主haproxy 配置文件,定义默认配置,配置常用基本选项以及超时时间等。

6 、定义一个统计页面,并能通过用户名和密码进行登录。

7 、配置一个frontend ,并关联到后端backend webserver 。

8 、配置后端backend webserver ,添加两台web 服务,并配置健康状态监测。

9 、配置主haproxy 完成后,同步配置到从haproxy ,并启动所有服务。


配置haproxy配置文件:(注意主从一致)

vim /etc/haproxy/haproxy.cfg 
listen stats #定义一个统计报告服务
mode http #基于http协议
bind 0.0.0.0:1080 #监听1080端口
stats enable #开启统计报告服务
#stats hide-version #隐藏统计报告版本信息
stats uri /hastats #统计报告访问url
#stats realm Haproxy\ Statistics #页面登陆信息
stats auth admin:admin #验证账号的信息(用户+密码)
stats admin if TRUE #验证模式
frontend web
bind    0.0.0.0:80
default_backend  lnmp-server
#frontend  main *:5000
#    acl url_static       path_beg       -i /static /images /javascript /styl
esheets
#    acl url_static       path_end       -i .jpg .gif .png .css .js
#
#    use_backend static          if url_static
#    default_backend             app
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend lnmp-server
   balance     roundrobin
   option      httpchk GET /index.html
   server      lnmpserver1 172.17.250.45:80  check inter 3000 rise 3 fall 5    #后端server,实现了LNMP的电子商务网站
   server      lnmpserver2 172.17.252.87:80  check inter 3000 rise 3 fall 5


配置keepalived配置文件(注意从服务器配置的同步)

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
    # [email protected]
    # [email protected]
    # [email protected]
    [email protected]
   }
   notification_email_from [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id KEEPALIVE_Haproxy
}


vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 13
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.17.252.110
    }


配置完成。

访问配置的状态页面http://hostname:1080/hastats

如图:

技术分享图片


以上是关于企业实战-实现基于Haproxy负载均衡集群的电子商务网站架构的主要内容,如果未能解决你的问题,请参考以下文章

Haproxy+keepalived高可用集群实战

企业实战-实现基于LVS负载均衡集群的电商网站架构

基于虚拟主机的HAProxy配置实战

Haproxy企业级负载均衡应用实战讲解

Haproxy搭建web群集(实战!!!)

Haproxy企业级负载均衡应用实战讲解