负载均衡这个名词相信很多人都有工作经验java工程师很熟悉,但是对java零基础对于开始学习的人来说,还是比较陌生的。这篇文章主要是为了接触。java不久,不知道负载平衡的朋友来介绍什么是负载平衡,谈谈它的相关内容。
在网站成立初期,我们通常使用单台机器提供集中服务,但是随着业务量的增加,我们的服务器还不够,此时,将多台机器组成集群提供外部服务;但我们的网站通常只提供一个访问入口,例如:www.wkcto.com,然后,当用户输入浏览器时,当用户输入浏览器时www.wkcto.访问com时,应该如何将用户的请求分发给集群中不同的机器?,这就是负载平衡需要做的事情。
总结负载平衡的定义:负载平衡通常是指请求"均匀"集群中多个服务器节点的分配,这里的均匀性是指在较大的统计范围内基本均匀,而不是完全均匀。当服务器性能达到极限时,我们可以使用它服务器集群来提高网站的整体性能。此时,需要一个服务器作为调度员。用户的所有请求首先由他接收,然后根据每个服务器的负载将请求分配给后端服务器进行处理。在此过程中,调度员合理分配任务,以确保每个服务器的性能都能重复发挥。以保持整个服务器集群的最佳性能,这就是负载平衡。
负载均衡的实现方式主要有以下三种:
1、重定向:这样,请求全部发送到前置机,前置机通过算法得到分配哪平台应用服务器,然后对客户端做出反应,从客户端重定向到应用服务器。这样,由于每个要求都必须重定向,效率不是很高。
2、反向代理:这样,请求通过使用反向代理在前置机器上分发给应用服务器。客户端不需要再要求了。通常有两种实现方法,一种是用交换机实现的,另一种是用交换机实现的。nginx实现这类软件。这样,因为不需要重新定向,所以比第一个更有效率,但因为要求和响应是通过前置机器,所以对前置机器的测试是非常大的。
3、返回数据链路:这种方式是虚拟虚拟设置通过给应用服务器设置IP,然后通过修改mac地址来分发请求,应用服务器可以直接响应客户端,而无需通过前置机器。
最后,负载平衡将通过两种方式实现,一种是平衡硬件负载,比如F5、Arrray等。,优点是有厂家专业的技术服务团队支持,性能稳定,
缺点是成本高,小规模网络应用成本过高;二是