负载均衡(Load balancing)在不同的领域有不同的概念。其基本概念是为了减轻某个或某些实体的负载,将任务通过某种策略分配到多个实体上去,实现负载在不同实体间的平衡。
可以看作是:将一个物体上的处理任务分配到多个空闲的物体上,来达到一种平衡,平衡可以看做是这几个物体的一种状态。
在网上搜索是经常提到的是网络的负载平衡,这里不再赘述。
负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。(摘自维基百科)
前提条件可以是多种比如在计算机领域中,机器的配置不同的,形同的;或是用作的处理不同如图形图像,和一般的计算等。由于不同的操作或是不同任务间的差异在不同的机器上或相同的机器上会产生差异,从而造成某些机器在给定任务后可以很快完成,而某些则需要很久才能完成。常见的负载平衡一般分为两类
1.静态的负载均衡,只利用系统负载的平均信息,而忽略系统当前的负载状况的方法
2.动态的负载均衡,根据系统当前的负载状况来不断调整任务划分的方法
一个负载均衡的算法一般包含三部分:
1.信息策略:制定任务放置策略的制定者使用的负载和任务量,以及信息分配的方式。
2.传送策略:基于任务和计算机负载,判断是否要把一个任务传送到其它计算机上处理。
3.放置策略:对于适合传送到其他计算机处理的任务,选择任务将被传送的目的计算机。
负载均衡的上述3个部分之间是以不同的方式相互作用的。放置策略利用信息策略提供的负载信息,仅当任务被传送策略判断为适于传送之后才行动。总之,负载均衡的目标是:提供最短的平均任务响应时间;能适于变化的负载;是可靠的负载均衡机制。