我是靠谱客的博主 迅速期待,最近开发中收集的这篇文章主要介绍构建开源负载均衡架构平台之haproxy,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。 

HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。

Haproxy包括以下一些特征:

1.   根据静态分配的cookie 分配HTTP请求

2.   分配负载到各个服务器,同时保证服务器通过使用HTTP Cookie实现连接保持;

3.   当主服务器宕机时切换到备份服务器;允许特殊端口的服务监控;

4.   做维护时通过热配置可以保证业务的连续性,更加人性化;

5.   添加/修改/删除HTTP Request和Response 头;

6.   通过特定表达式Block HTTP请求;

7.   带有用户验证的详细的HTML监控报告; 

一、安装Haproxy

从官方网站:http://www.haproxy.org 下载最新版本。

# wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz

# tar zcvf haproxy-1.3.20.tar.gz

# cd haproxy-1.3.20

# make TARGET=linux26 PREFIX=/usr/local/haprpxy

# make install PREFIX=/usr/local/haproxy

二、安装完毕后,进入安装目录创建配置文件

# cd /usr/local/haproxy 

# vi haproxy.cfg

global

        log 127.0.0.1   local0 debug

        maxconn 1024 #每个进程可用的最大连接数

        ulimit-n 8000

        daemon #使HAProxy进程进入后台运行

        nbproc 1#创建1个进程进入deamon模式运行

defaults

        log     global

        mode    http

        option  httplog #定制日志格式

        option  dontlognull

        maxconn 10

        #5 seconds for connection to establish on a server

        contimeout      5000

        #50 seconds for the time we accept to wait for data from the client

        clitimeout      50000

        #50 seconds for the time we accept to wait for data from the server

        srvtimeout      50000

listen boss_web 0.0.0.0:8811

       mode    http

       log     global

       log     10.1.252.153 local3

       maxconn 1000  #每个进程可用的最大连接数

       option forwardfor

       capture request  header Cookie len 200

       cookie  HAPROXYID insert nocache indirect

       balance roundrobin

       #option  httpchk GET /pboss/check.html#允许用http协议检查server 的健康

       server  10_1_252_92_7879 10.1.252.92:7879 check inter 10000 cookie 10_1_252_92_7879

       server  10_1_252_153_7989 10.1.252.153:7989 check inter 10000 cookie 10_1_252_153_7989

listen manager 0.0.0.0:8844 #监控管理平台

       mode http

       balance roundrobin #负载算法,这里采用默认

       stats uri /status   #监控平台的服务名

       stats realm Global/ statistics

       stats auth admin:admin #登陆监控平台的验证信息

~启动服务:
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

重启服务:
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid`  (没有换行)

停止服务:
# killall haproxy

三、配置日志

# vim /etc/syslog.conf

在最下边增加
local3.*         /var/log/haproxy.log
local0.*         /var/log/haproxy.log
重启核心日志服务使配置起效
# service syslog restart

然后就可查看日志了
# tail –f /var/log/harpoxy.log

四、登陆监控平台可以查看到当前负载信息及每个服务器的状态http://10.1.252.153:8844/status

 

五、通过统一接入地址(proxy)访问应用程序 http://10.1.252.153:8811/pboss

六、模拟server1宕机

将server1 10.1.252.92:7879服务停掉,并登陆监控平台查看status是否为down.

重新登陆http://10.1.252.153:8811/pboss 登陆成功并从可以观察到服务的负载由server1转移到另一台服务器server2上。

七、模拟server2宕机

将server2 10.1.252.153:7879服务停掉,并登陆监控平台查看status是否为down.

重新登陆http://10.1.252.153:8811/pboss 登陆成功并从可以观察到服务的负载由server2转移到服务器server1上。

 

以上只是利用haproxy一小部分功能,但这些已经可以实现负载的目的,今天就先了解到这里。。。

最后

以上就是迅速期待为你收集整理的构建开源负载均衡架构平台之haproxy的全部内容,希望文章能够帮你解决构建开源负载均衡架构平台之haproxy所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部