使用HAProxy实现Tomcat的负载均衡

enchen 2018-08-21

HAProxy是一个使用C语言编写的开放源代码的软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。尤其适用于高负载且需要持久连接或7层处理机制的web站点。

HAProxy可以将后端的服务器与网络隔离,起到保护后端服务器的作用。

HAProxy支持连接拒绝,通过拒绝连接,可以限制某些非法或有意的攻击型连接,从而降低其对网站带来的危害。

HAProxy实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。

HAProxy主要为基于HTTP和TCP访问的应用服务提供负载均衡,通过负载均衡算法,HAproxy能够接受数以万计的访问请求并将其转发到后端服务器池中进行处理,后端服务器池接受HAProxy转发的请求并进行处理。

应用场景:负载均衡、资源动静分离、读写分离


使用HAProxy实现Tomcat的负载均衡
  

安装步骤:

cd /opt/software/haproxy
tar -zxvf haproxy-1.7.8.tar.gz
cd haproxy-1.7.8

uname [-a|-r]    //查看Linux内核版本, TARGET是内核版本,
	TARGET则根据当前操作系统内核版本指定
		- linux26 for Linux 2.6 and above
		- linux2628 for Linux 2.6.28, 3.x, and above

make TARGET=linux2628 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

mkdir /usr/local/haproxy/conf

haproxy.conf配置文件:

global
	chroot /usr/local/haproxy
	daemon
	pidfile /usr/local/haproxy/haproxy.pid
  
defaults
	mode http
	option httplog
	option httpclose
	option forwardfor
	option redispatch 
	option abortonclose
 
listen admin_stats
	bind 0.0.0.0:8099
	mode http
	stats enable
	stats refresh 5s
	stats uri /stats
	stats auth admin:admin
	stats hide-version
      
frontend http_80_in
	bind 0.0.0.0:80
	mode http
	option httplog
	option httpclose
	option forwardfor
	default_backend server_web

backend server_web
   mode http
   balance roundrobin
   server web1 192.168.134.134:8080 cookie web1 check inter 1500 rise 3 fall 3 weight 1
   server web2 192.168.134.135:8080 cookie web2 check inter 1500 rise 3 fall 3 weight 2

启动haproxy:

        /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg

相关推荐