- 什么是负载均衡,为何要做负载均衡
- 假设大家知道某个收银员业务熟练,速度很快,虽然是随机,但是大家会更偏向那个收银台,这就是加权随机。
- 假设大家都按次序,第一个人到第一个收银台,第二个人到第二个收银台,以此类推,那这就是轮询算法。
- 假设大家知道某个收银员业务熟练,速度很快,虽然是轮询,但是大家会更偏向那个收银台,这就是加权轮询。
- 假设大家都比较精明,看到哪个队伍人最少就到哪个收银台,那这就是最小连接算法。
- 假设超市有6个收银台,但是规定,男性到1,3,5号收银台,女性到2,4,6号收银台,这就是源地址hash。
- 假设超市有6个收银台,但是均分到了2^32个虚拟收银台,男性到奇数号虚拟收银台,女性到偶数号虚拟收银台,这就是一致性hash环。
- 假设大家知道某个收银员业务熟练,速度很快,虽然是随机,但是大家会更偏向那个收银台,这就是加权随机。
- 假设大家都按次序,第一个人到第一个收银台,第二个人到第二个收银台,以此类推,那这就是轮询算法。
- 假设大家知道某个收银员业务熟练,速度很快,虽然是轮询,但是大家会更偏向那个收银台,这就是加权轮询。
- 假设大家都比较精明,看到哪个队伍人最少就到哪个收银台,那这就是最小连接算法。
- 假设超市有6个收银台,但是规定,男性到1,3,5号收银台,女性到2,4,6号收银台,这就是源地址hash。
- 假设超市有6个收银台,但是均分到了2^32个虚拟收银台,男性到奇数号虚拟收银台,女性到偶数号虚拟收银台,这就是一致性hash环。
- 冗余需要,服务器宕机或者链路断线不影响业务;
- 冗余需要,服务器宕机或者链路断线不影响业务;
什么是负载均衡,为何要做负载均衡
什么是负载均衡,为何要做负载均衡
一、什么是负载均衡
当单个节点的服务,无法支持当前的大量请求时,我们会部署多个节点,即所谓的集群,此时要使每个节点收到的请求均匀的算法,这个策略就是所谓的负载均衡了。
负载均衡
常见的负载均衡算法,有权重随机、Hash、轮询。
1.权重随机
这个是最简单,也是最常用的负载均衡算法,即每个请求过来,会随机到任何一个服务节点上,主流的rpc框架Dubbo,默认使用基于权重随机算法。
2.Hash
可以将客服端即请求端的ip,通过hash计算,得到一个数值,再取服务节点数的模,分配到对应的服务节点上。
3.轮询
将请求按照顺序,依次分配到节点1、节点2、节点3等节点上,如此循环往复。
二、为什么要做负载均衡
想想如果没有负载均衡算法,我们的请求有可能都打到同一节点上,有可能将这个节点给打死,而其他节点的机器闲置着没有提供服务,浪费资源。所以这就是负载均衡算法存在的意义了,可以将请求合理分发到各个节点,实现真正意义上多个节点提供服务的效果。
想想如果没有负载均衡算法,我们的请求有可能都打到同一节点上,有可能将这个节点给打死,而其他节点的机器闲置着没有提供服务,浪费资源。所以这就是负载均衡算法存在的意义了,可以将请求合理分发到各个节点,实现真正意义上多个节点提供服务的效果。
负载均衡是分配网络或计算资源,以使工作负载在多个资源上分配,以达到最佳性能或最大利用率的技术。负载均衡技术在现代技术环境中非常重要,可以处理大量的请求,确保在高流量情况下,系统的可用性和性能都能保持稳定。
做负载均衡的主要原因如下:
1、提高系统的可用性和容错性:当某个服务器出现故障时,可以自动将请求分配到其他健康的服务器上,确保系统的可用性不受影响。
2、提高系统的性能和扩展性:通过负载均衡,可以将请求均衡地分配到多台服务器上,这样可以提高系统的响应速度和处理能力,避免某些服务器负载过高而导致系统崩溃。
3、实现业务需求的灵活部署:负载均衡能够将请求按照一定的策略分配到不同的服务器上,可以通过配置负载均衡的规则,来实现复杂的业务需求,例如将不同地区的用户请求分配到不同的服务器上进行处理,以避免网络拥塞和延迟。
3、实现业务需求的灵活部署:负载均衡能够将请求按照一定的策略分配到不同的服务器上,可以通过配置负载均衡的规则,来实现复杂的业务需求,例如将不同地区的用户请求分配到不同的服务器上进行处理,以避免网络拥塞和延迟。
我举个简单的例子。
大家都逛过超市。小超市一般就一个收银台,而大超市一般有好几个收银台。为什么?因为大超市的人流量大啊。如果大超市只有一个收银台,那可能买个东西得好几个小时,那还不如去小超市
有了多个收银台,那就需要确保每个收银台的人基本都是差不多的。如果大家还是挤到一个收银台去结账,那其它收银台开了还有什么意义?
- 有了多个收银台,那就需要确保每个收银台的人基本都是差不多的。如果大家还是挤到一个收银台去结账,那其它收银台开了还有什么意义?
每个收银台平均时间内处理客户的数量就是负载。
每个收银台的负载基本相当,就是负载均衡。
确保每个收银台的负载基本相当的算法,就是负载均衡算法。
- 确保每个收银台的负载基本相当的算法,就是负载均衡算法。
也就是大家选择哪个收银台的方法,就是负载均衡算法。
- 也就是大家选择哪个收银台的方法,就是负载均衡算法。
假设大家比较佛性,逛到哪个收银台就到哪个收银台结账,那这就是随机算法。
负载均衡是一种计算机技术,用来在多个计算机(集群)、网络连接、cpu、或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小响应时间、同时避免过载的目的。
举例:假设有大量的用户同时登陆微信,微信需要对所有的用户进行鉴权,也就是判断密码是否正确,如果只是用一台机器的话,同时处理上亿条请求,那每条请求响应的时间就不能保证,机器的负载也会过高,有挂掉的风险,如果同时部署几十台服务器来进行处理,每台服务器处理一部分请求,那响应时间和负载都可以得到有效的控制。
举例:假设有大量的用户同时登陆微信,微信需要对所有的用户进行鉴权,也就是判断密码是否正确,如果只是用一台机器的话,同时处理上亿条请求,那每条请求响应的时间就不能保证,机器的负载也会过高,有挂掉的风险,如果同时部署几十台服务器来进行处理,每台服务器处理一部分请求,那响应时间和负载都可以得到有效的控制。
负载均衡通俗的说就是将业务流量平均分摊到多条不同链路上。
负载均衡在实现机制上有不同的实现方式:
按照数据包来进行均衡,前一个数据包从第一条链路走,下一个数据包走第二条链路,这样往下轮流分配;
按照源地址或目的地址方式均衡,将相同的源或目的地走一条链路的方式;
其它标记的方式进行均衡;
负载均衡的链路实现方式
物理链路叠加方式;
逻辑链路叠加方式;
路由协议方式;
为何要做负载均衡?
- 为何要做负载均衡?
单条链路或者服务器性能不够,需要分摊;
标签: #arp单机游戏