web负载均衡
1、web负载均衡
思考:
对于web站点的水平扩展,负载均衡是一种常见的手段,在学习实现方法之前,我们首先需要思考:
例如:某公司的团队需要承担的工作量,开始的时候工作量较小,大家很轻松,随着任务的扩大,团队无法承担任务的完成。
(1):外包
团队决定将一些任务外包给别的公司,并派一个人于外部公司进行对接,称为接口人。
(2):接口人
有一天,接口人生病没来公司,这个时候会影响公司的正常工作,直到他回来,公司才可以正常恢复工作。
显然这位接口人非常关键,他的缺席会影响整个外包工作的正常进行,这也许是致命的,我们将这种情况为单点故障(Single Point of Failure),如果只依赖一个因素,设备或人,就会暴露出单点故障的隐患,所以,我们应当避免单点故障。 为此,公司给其配备一个助理,以备当他不在的时候,助理可以继续完成工作。
(3):工作量分配
接口人需要跟多个外部公司进行沟通,并且将工作任务·1储蓄不断地分配给他们,在分配任务中可能出现:
给某些公司分配了太多的任务,其中一些任务没有按时完成
有些公司比较闲,却没有及时分配任务给他们
有些公司业务差,却分配了高难度的任务,花费大量时间,还是没有完成
有些公司业务强,却分了简单的任务
这就需要接口人来优化任务分配问题,使用正确的管理方法来掌握外部公司的进度和状态,了解其负载,以帮助自己更加有效的分配任务,实现外部工作的负载均衡(Load Balancing)。
(4):风险管理
尽管我们已经避免了接口人的单点故障,降低了风险,但是外部公司依然可能出现问题,在必要的时候,我们需要将任务快速转移给别的公司,这个前提是有备用的外部公司,从避免单点故障到准备备用方案,都是降低外包工作风险的一系列措施,同时也保障了外部工作的不间断性,或者称为高可用性(High Availability .HA)。
(5):制约
当工作任务更多时,接口人的工作就有点吃不消了,工作量太大的时候与外部公司进行沟通就会花费全部时间,都会制约接口人处理外部工作,因此限制了外部工作的无线扩展。因此公司决定设立更多的接口人,并分开工作。
常用负载均衡
(1)、HTTP重定向
(2)、DNS负载均衡
(3)、反向代理负载均衡
(4)、IP负载均衡