常见的负载均衡的方式
1 负载均衡
1.1 场景引入
Tomcat最大能承受的访问量是300,现在需要处理同时并发1000的访问量,应该怎么做?
1.2 负载均衡的概念
百度百科的解释。
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
2 常见的负载均衡的方式
2.1 基于DNS
在DNS上做负载均衡。
2.2 基于反向代理服务器(Apache、Nginx)
正向代理和反向代理的区别。
Nginx的配置如下:
1 | upstream pandawork { |
2.3 基于NAT
NAT(Network Address Translation 网络地址转换)简单地说就是将一个IP地址转换为另一个IP地址,一般用于未经注册的内部地址与合法的、已获注册的Internet IP地址间进行转换。适用于解决Internet IP地址紧张、不想让网络外部知道内部网络结构等的场合下。每次NAT转换势必会增加NAT设备的开销,但这种额外的开销对于大多数网络来说都是微不足道的,除非在高带宽有大量NAT请求的网络上。 NAT负载均衡将一个外部IP地址映射为多个内部IP地址,对每次连接请求动态地转换为一个内部服务器的地址,将外部连接请求引到转换得到地址的那个服务器上,从而达到负载均衡的目的。
NAT负载均衡是一种比较完善的负载均衡技术,起着NAT负载均衡功能的设备一般处于内部服务器到外部网间的网关位置,如路由器、防火墙、四层交换机、专用负载均衡器
等,均衡算法也较灵活,如随机选择、最少连接数及响应时间等来分配负载。
NAT负载均衡可以通过软硬件方式来实现。软件的方式如Linux的iptables就可以实现。硬件方式就是集成了NAT服务的硬件,通常这样的硬件设备是第四层交换机和专用负载均衡器,第四层交换机的一项重要功能就是NAT负载均衡。
由于NAT是在第四层上做负载均衡,因此可用于出web外的多种服务,如ftp。
2.4 基于LVS
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
三种转发机制:
1 Virtual Server via NAT
2 Virtual Server via IP Tunneling
Virtual Server和响应服务器间建立IP隧道,响应服务器可以在远端,响应直接由响应服务器返回给客户端。
3 Virtual Server via Direct Routing
Virtual Server直接将请求转发给响应服务器,响应服务器和Virtual Server必须在一个物理局域网内,响应直接由响应服务器返回给客户端。
参考:http://www.360doc.com/content/12/1117/19/820209_248441825.shtml
2.5 基于NLB
NLB(Network Load Balancing),网络负载平衡。
特点:
(1)NLB集群可以将两台或更多服务器结合起来使用
(2)一个NLB集群最多支持32台计算机
(3)NLB集群只能用于各节点的服务与数据完全相同的情况
(4)增强 Web、FTP、VPN等服务的可靠性和可伸缩性
NLB的工作原理
(1)集群中的每台服务器都有固定IP地址
(2)集群中的每台服务器还有一个共同的IP地址–NLB的集群IP地址
(3)NLB将客户端的访问信息发送给群集中的所有节点
(4)NLB算法决定提供服务的节点–其他不提供服务的节点丢弃访问请求
(4)NLB通过单播或多播来确保算法的特点
2.6 基于硬件
比较流行的是F5,价格相当高,最便宜的也要10几万。
http://network.51cto.com/art/201004/196752.htm
http://network.51cto.com/art/201004/196752.htm