使用硬件负载均衡:
请求发起方和请求处理方中间有一个硬件负载均衡设备,所有请求必须经过这个设备。
这种方式的特点:
代价低,而且可控性较强。
上面这种方式称为透明代理。
此种方式存在两种不足:
增加网络的开销(一方面指流量,一方面指延迟),如果使用了lvs的tun或者dr模式,那么从处理请求服务器上的返回结果会直接到请求服务的机器,不会再通过中间的代理,只有请求的数据包在过程中多了一次代理的转发。在发送请求数据包小而返回结果的数据包的场景下,使用代理模式与不适用代理的模式相比只有很小的流量增加,但是如果发送请求的数据包很大,那么流量增加还是比较明显的。延时实际影响很小。
第二个不足是:
透明代理出于请求必经之路。代理出问题,所有请求受影响,需要服务器的热备份。
lvs请求调用
采用名称服务的直连方式的请求调用:
与透明代理方式的区别,发起和处理两个集群中间没有代理服务器这样的设备,发起和处理直接互连,两个直接连接名称服务器(收集提供请求处理的服务器的地址信息;另一个提供这些地址信息发给请求方)名称服务只起到一个地址交换的作用,发请求的根据名称服务器的地址进行负载。
优势:
不是请求的必经之路,名称服务器出现问题可以不少办法保证请求正常处理。减少了中间的路径可能额外的带宽的消耗,代码升级复杂。
第四种方式:
采用规则服务器控制路由的请求直连调用
规则服务器的方式和名称服务的方式比较类似
最后一种方式:(Master+worker的方式)
master把任务分配给不同的worker进行处理。没有发起和处理方。更多的是任务的分配。