负载均衡【Load Balance】

What Is Load Balancing

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

对于大型应用来说,系统负载可能非常重。以网站应用为例,如果并发数很多,则单台计算机就无法承受,此时,为保证应用程序的服务质量,需要使用多台计算机协同工作,将系统负载尽可能均匀地分配到各个计算机节点上。

典型的实现

Tomcat集群

配置Tomcat集群实现负载均衡,可以通过Apache服务器实现。即,使用Apache服务器作为负载分配器,将请求转向各个Tomcat服务器,从而实现负载均衡。

负载均衡【Load Balance】

在使用Tomcat集群时,有两种基本的Session共享模式。

1、黏性Session模式

在黏性Session模式下,所有的Session信息被平均分配到各个Tomcat结点上
Session信息在各个Tomcat节点上都不同,信息不共享

2、复制Session模式

使用复制Session模式,将使得所有Session在所有Tomcat节点上保持一致
Session信息在各个Tomcat节点上都相同,保证信息共享

负载均衡服务器

Terracotta开源Java集群平台
Apache服务器
nginx服务器

注意:

Terracotta是一款企业级的,开源的,JVM层的集群解决方案。它可以实现诸如分布式对象共享、分布式缓存、分布式Session等功能。


参考资料:
[1] 葛一鸣.Java程序性能优化[M].北京:清华大学出版社,2012: 56-62.