1.原理
通過對各個實例的不同權(quán)重來分配請求,例如nginx的轉(zhuǎn)發(fā)中用到。
2.模擬個例子
假設(shè)有四個實例A,B,C,D.他們平均響應(yīng)時間為10,40,80,100.所以總響應(yīng)時間為10 + 40 + 80 +100 = 230怀估,每個實例的權(quán)重為總響應(yīng)時間與自身的平均響應(yīng)時間的差的累積所得厚骗,所以這四個實例的權(quán)重為:
- 1.實例A: 230 - 10 = 220
- 2.實例B: 220 + ( 230 - 40 ) = 410
- 3.實例C: 410 + ( 230 - 80 ) = 560
- 4.實例D: 560 + ( 230 - 100 ) = 690
看到這里應(yīng)該大概了解到赡译,上面四個像是區(qū)間的上限共啃,所以可以這么設(shè)計,每個實例的區(qū)間下限是上一個實例的區(qū)間上限概漱,能得到這四個實例的權(quán)重區(qū)間.
- 1.實例A: [0 , 220]
- 2.實例B: (220, 410]
- 3.實例C: (410 , 560]
- 4.實例D: (560 , 690)
注意上面的開閉區(qū)間丑慎。
不難發(fā)現(xiàn),上面的區(qū)間的寬度的特點是響應(yīng)時間越短瓤摧,其區(qū)間寬度越大竿裂。