资源调度是在资源一定的情况下,根据设定的资源使用规则,在不同的资源使用者(即任务)之间进行资源再分配的过程。资源使用者可以是计算任务、存储任务、网络任务等。负载均衡的引入可解决分布式集群中各节点的负载失衡问题。
在分布式系统中,用户的访问量无疑是非常大的,这个时候要解决的就是服务器的负载压力问题。如果负载过高,而又没有得到及时的解决,那此时该分布式系统的性能就会受到很大的影响:随着负载的增大(用户数量的增多)而逐渐变慢,直至最后完全没有反应。这显然是大家都不想看到的,于是需要更换性能更好的服务器来缓解压力或者增加服务器的台数来均衡负载。前者称之为纵向扩展,后者称之为横向扩展。在分布式系统中我们选择横向扩展来实现负载均衡是合理的,通过横向扩展肯定能获得比纵向扩展更大的计算能力。除此之外,在进行横向扩展时,有了更多的机器,如果某台机器没法工作了,仍然可以用其他机器来处理负载。而纵向扩展时,如果机器没法工作了,一切都将无法运行。
负载均衡顾名思义就是利用一些技术[例如利用负载均衡器(LoadBalancer)],将用户的请求经由主服务器均衡到各个从服务器中去,降低接受系统请求的主服务器的工作量,从而让它处理更多的请求并提高处理性能,让服务器集群协同工作服务于分布式系统。
负载均衡包含对Web的负载均衡、对数据库的负载均衡以及对网络的负载均衡等。在这里一直没有提到用什么来实现负载均衡,不过应该会有读者想到了这样一个词:负载均衡器。没错,正是负载均衡器实现了将负载分散开来的功能,在一个分布式架构中加入负载均衡器来实现负载均衡的体系结构,如图5-54所示。(https://www.xing528.com)
将负载均衡器加入到分布式系统中,对Web服务、数据库服务以及网络服务进行负载均衡:将所有连接到网络的连接请求通过一台或者多台(取决于您的分布式系统的规模大小)负载均衡服务器(其实也是一些服务器,专门用于负载均衡)分发到不同的Web服务器、网络和数据库服务器上。

图5-54 负载均衡器
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
