`

负载均衡(Load Banlance)

阅读更多

负载均衡:

负载均衡是把一个可并行计算的程序的任务(或者什么东西)分配到分布式系统的各个cpu上,从而最小化最终完成时间的问题。

 

LB  主要考虑2方面的耗费:

 

total_cost = computation_cost + communication_cost.

 

似乎这两个耗费之间存在矛盾,如果将负载都分配到一个cpu上,那么通信耗费肯定会很少,然而总的完成时间会加长。

如果将负载均匀的分布到各cpu上,通信耗费又会增加。所以,要折衷考虑。

 

LB 分静态LB 和动态LB算法。

 

(1)静态LB

        是在编译程序阶段,就固定好了确切的分配策略,在执行之前,将任务分配给个系统。在执行过程中,不存在计算机之间的通信

(2)动态LB

      是在执行过程中,根据分布式系统的运行情况,分配任务。

 

LVS DR 工作原理

记录一下LVS中DR模式的运行过程

一个主LDSERVER  , 可以有自己单独的ip(192.168.1.1),vip 设置为 vip1(192.168.1.100)

一个备份LDSERVER, 自己的ip(192.168.1.2)vip当然也是vip1(利用keepalived检测,出错时会接管)

几台REAL_SERVER,这些real server必须在一个同一个物理连接上,也就是通过交换机直接连接

 

假设有2台real server,

1的ip为 192.168.1.3

 

2号机的ip为 192.168.1.4

 

怎样添加共享的vip呢?将1,2号机上的lo上添加一个 lo:0  它的ip是vip, 广播也是vip

 

那么这个包的流程是怎样处理呢?

1)用户请求dns得到LDserver的ip,为什么?因为只有ldserver提供icmp ping的应答,其他real server虽然也有此vip,但是配置时都关掉了应答,所以自然请求包会首先到达LDserver。

2)LDserver根据规则将请求包的目的mac地址写成一个realserver的mac地址,发出去

3)realserver接到该包后(在一个物理连接上,如果不是自己的数据包,根据mac地址会丢掉)向上层递交,然后自己的一个lo:中的ip正好是目的ip,那就可以处理该包了,并且直接给用户应答的时候也不用修改源ip,因为自己有一个lo的ip就是那个vip。这个地方被自己困住了很久。

 

从而LD上只负责映射和记录映射,并不保存链接,从而不会受单台pc的连接数的限制,瓶颈上升到带宽和单位时间内可以记录映射,查找映射的计算上。

 

 

分享到:
评论

相关推荐

    webServer load banlancing

    this doucment is a document for load balancing for open sources,important open source software LVS,HAProxy,NETScale and F5 .use this tools to make a balanc framework in linux kernel os.

    banlance.rar_fpga balance_动平衡

    fpga上实现的动平衡检测模块,只需要一编码器就可以

    EQBalanceView跟随手指的小球

    在Android开发中,自定义View是一项重要的技能,它允许开发者创造出独特且富有创意的用户界面。"EQBalanceView跟随手指的小球"是一个很好的实例,展示了如何利用自定义View实现一个动态交互的效果,让用户可以通过...

    UCI三个数据集简单处理后.zip

    UCI Machine Learning Repository 是一个广泛使用的资源库,包含多种用于学术研究和数据分析的公开数据集。在这个名为 "UCI三个数据集简单处理后.zip" 的压缩包中,我们找到了三个预处理过的数据集:Car、Balance_...

    Hopping-in-Three-Dimensions:单腿跳跃机器人,参考marc raibert的legged robots that banlance

    Hopping-in-Three-...单腿跳跃机器人,参考marc raibert的legged robots that banlance 使用: 在webots2019b上打开Hopping in Three Dimensions\worlds\empty文件 电脑键盘 ↑ ↓ ← → 用于改变机器人跳跃方向。

    ERP Fiscanl Report

    ERP Fiscanl Report - Banlance Sheet

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End

    IIF((banlance = 0 OR amount = 'Alls'), 0, sum_m * rake / 100) AS mem_ds, IIF((banlance = 0 OR amount = 'Alls'), 0, SWITCH( result = 0, -sum_m, result > 0, IIF(sort = 'likst', (sum_m / count_l * ...

    balance-transfer1多通道.zip

    在这个场景中,"banlance-transfer接口"可能是指用于处理余额转账请求的接口,该接口可能是智能合约的一部分,允许网络中的参与者发起转账操作。 在Hyperledger Fabric中,多通道是一个关键特性。通道是一种隐私...

Global site tag (gtag.js) - Google Analytics