Haproxy

1.Haproxy,nginx的区别

Haproxy:也是常用的负载均衡软件

nginx:支持四层转发,七层转发

haproxy 也可以四层和七层转发

2.LVS的DR和nat是基于四层还是七层转发?

四层转发

tun:四层加七层

基于四层的转发:

1、lvs

2、nginx

3、haproxy

基于七层

nginx

haproxy

haproxy:法国人开发的威利塔罗在2000年基于c语言开发的开源的软件

可以支持一万以上的并发请求

高性能的tcp和http负载均衡器 2.4 1.5.9

3.haproxy的功能

haproxy:主要用于高并发的web站点。工作原理和nginx一样。lvs都一样

支持的功能:

1、tcp和http的反向代理

2、支持https的代理配置

3、可以针对http请求添加cookie,转发到后端服务器(添加缓存)

4、也支持主备服务器切换(keepalived)

5、基于端口的实时监控

6、压缩响应报文

4.haproxy的特定

1、可靠性和稳定非常好,可以和硬件f5 big 负载均衡的硬件设备相媲美

2、同时40000-50000个并发连接,单位时间内处理最大请求数20000个

3、支持8中负载均衡算法,但是haproxy不带缓存功能,但是可以支持会话保持

4、支持配置虚拟主机

5.haproxy的负载均衡算法

1、roundrobin rr 轮询

2、static-rr 加权轮询

3、leastconn 最小连接数

4、source 根据请求的源ip进行调度 sh

5、uri 根据请求地址进行调度

6、url param URL的参数实现调度

7、hdr(name) 根据http的请求头锁定每一次http的请求

8、rdp-cookie 根据cookie的名称来锁定每一次请求

6.lvs nginx haproxy区别

1.lvs基于linux内核实现负载均衡,性能最高,但是对系统硬件要求也比较高

haproxy和nginx基于第三方应用实现负载均衡,性能较低,最低的是nginx

2、lvs可以实现ip+端口的四层负载均衡,无法实现http请求的转发,haproxy和nginx都可以实现四层和七层的转发

3.lvs只能实现四层转发,监测的状态只能是单一的功能(监测端口)

haproxy可以实现端口,uri也可以

4.haproxy虽然功能强大,但是整体性能低于lvs nginx的性能比haproxy低

lvs>haproxy>nginx(bug多,稳定也差)

5.nginx主要应用还是web服务或者缓存服务器,nginx的stream模块和upstream模块也可以支持集群,但是对检点的健康检查不强,没有lvs和haproxy的监控性能好

haproxy的缺点:单节点部署,单实例运行,代理服务器出现故障,整个负载集群全部不可用

haproxy是一个无状态的负载均衡器,没缓存,也没有会话保持,靠应用程序实现会话保持,状态不是保存在代理服务器,而在后端服务器,或者依靠cookie

日志问题:haproxy的日志比较简单,只提供基本的请求日志和错误日志,需要更高级的日志,人工自定义

7.搭建haproxy和nginx服务

cd /opt

全部

systemctl stop firewalld

setenforce 0

nginx1:

tar -xf haproxy-1.5.19.tar.gz

yum install -y pcre-devel bzip2-devel gcc gcc-c++ make

cd haproxy-1.5.19/

make TARGET=linux2628 ARCH=X86_64

make install

mkdir /etc/haproxy

cd /opt/haproxy-1.5.19/examples

cp haproxy.cfg /etc/haproxy/

cd /etc/haproxy

vim haproxy.cfg

Haproxy_第1张图片

Haproxy_第2张图片

Haproxy_第3张图片

cd /opt/haproxy-1.5.19/examples

cp haproxy.init /etc/init.d/haproxy

chmod 777 /etc/init.d/haproxy

chkconfig --add /etc/init.d/haproxy

cd /usr/local/sbin/

ln -s /usr/local/sbin/haproxy /usr/sbin

systemctl restart haproxy

vim /usr/local/nginx/html/index.html

this is nginx2

nginx3

vim /usr/local/nginx/html

this is nginx2

test1

curl 192.168.233.61

你可能感兴趣的:(负载均衡,服务器)