一、集群
1+1>2 即2核4g+2核4g>4核8g
二、Nginx集群负载均衡
tomcat1、tomcat2、tomcat3...构成了upstream(上游服务器)。
三、四层、七层与DNS负载均衡
负载均衡分为4层和7层。
1.四层负载均衡
四层负载均衡基于ip+port,原理是转发请求到后台服务器,只负责转发,并且会记录当前连接是由哪个服务器处理的,后续连接的请求就会由同一台服务器去处理,相当于是长连接,性能非常高。四层的话,是传输层的,主要基于TCP、UDP。
四层负载均衡器主要有:
F5硬负载均衡:很贵,性能很高,稳定性高,基于硬件,是商业级别的负载均衡。
LVS四层负载均衡:是Linux内核的一个四层负载均衡,基于CS端,负责转发一些请求。
Haproxy四层负载均衡:支持转发功能。灵活性非常高,除了4层,也能在7层做负载均衡。
Nginx四层负载均衡:在新版本里能实现四层负载均衡,但是一般来说,我们还是使用它做七层负载均衡,它是以七层为主的。Nginx是基于http的。
2.七层负载均衡
七层负载均衡基于url或者ip的,基于应用层的,是针对于http的负载均衡。
Nginx七层负载均衡:针对http协议或者email协议做负载均衡,性能很高。
Haproxy七层负载均衡
apache七层负载均衡:性能远不如nginx,它支持的并发不是很高,当并发达到百万级别以后,性能就会越来越差。
一般来说,我们用LVS做4层负载均衡,Nginx做7层负载均衡。Haproxy灵活性非常高,四层和7层都能做。
7层负载均衡主要处理http协议,适用于web服务器,比如tomcat、apache、nginx,只要是web服务器都可以。4层负载均衡主要处理tcp、udp协议,4层主要用于转发请求,而不是去处理,它可以把用户的请求转发给其他应用去处理;7层主要是处理请求的,比如会用gzip过滤文件等,可以压缩,也可以缓存。