欧美日操-欧美日韩91-欧美日韩99-欧美日韩ay在线观看-xxxx色-xxxx视频在线

一個(gè)巧妙的負(fù)載均衡算法 :翹動你的大腦

2018-01-12 16:14:07 博客園  點(diǎn)擊量: 評論 (0)
現(xiàn)在的負(fù)載均衡技術(shù),可以說是滿大街都是,但是我們基本都停留在了使用的階段上,并沒有真正深入去了解其核心。如果真的出現(xiàn)了問題,可
    現(xiàn)在的負(fù)載均衡技術(shù),可以說是滿大街都是,但是我們基本都停留在了使用的階段上,并沒有真正深入去了解其核心。如果真的出現(xiàn)了問題,可能就很難知道是什么原因?qū)е铝耍荒苋oogle,百度了。 因此,了解一些核心的東西,還是不錯(cuò)的。

負(fù)載均衡大概流程就是,隨時(shí)收集各服務(wù)器信息或者各服務(wù)器主動上報(bào)信息,由配置主心進(jìn)行保存,計(jì)算出權(quán)重,然后根據(jù)相應(yīng)算法進(jìn)行服務(wù)機(jī)器選擇。(當(dāng)然了,這不是本文的重點(diǎn),我也說得不一定對)

    我要展示的是,一個(gè)根據(jù)權(quán)重進(jìn)行機(jī)器選擇的一個(gè)巧妙算法,如下:


  1. int chooseOneRoute ( LB_SvrInfo * & pSvr ) 
  2.     double dblTotalWeight = 0.0; 
  3.     int i = 0; 
  4.     time_t curTime = time(NULL); 
  5.     //權(quán)重的計(jì)算方法是Late方法 
  6.     if ( curTime - calWeightTime >= CAL_WEIGHT_TIME_INTERVAL ) 
  7.     { 
  8.         calculateWeight(); 
  9.     } 
  10.     //先把各服務(wù)器權(quán)重加起來 
  11.     for ( i = 0; i < MAX_SERVER_NUM; i++ ) 
  12.     { 
  13.         if ( !oServerInfo[i].isOkForRoute() ) continue
  14.         dblTotalWeight += oServerInfo[i].getWeight(); 
  15.     } 
  16.     dblTotalWeight *= rand() / ( RAND_MAX + 1.0 ); 
  17.     //做減法 
  18.     for ( i = 0; i < MAX_SERVER_NUM; i++ ) 
  19.     { 
  20.         if ( !oServerInfo[i].isOkForRoute() ) continue
  21.         dblTotalWeight -= oServerInfo[i].getWeight(); 
  22.     //找到對應(yīng)服務(wù)器 
  23.         if ( dblTotalWeight < 0 ) break; 
  24.     } 
  25.     pSvr = &( oServerInfo[i] ); 
  26.     return 0; 

    分步解釋就是:

    先計(jì)算得到各機(jī)器的權(quán)重值,保存起來;

    按順序?qū)⒏鳈C(jī)器權(quán)重相加,相加之后就相當(dāng)于各機(jī)器在總權(quán)重上占了各相應(yīng)的一段比例;

    取隨機(jī)數(shù),得到一個(gè)0~1的隨機(jī)值,并乘以總權(quán)重,作為選中機(jī)器的標(biāo)志;

    再按順序減去各機(jī)器的權(quán)重,當(dāng)減到選擇機(jī)器的權(quán)重范圍時(shí),就得到了機(jī)器號,從而選定該機(jī)器。

    算法示意圖如下:

    服務(wù)器權(quán)重越高,在線段上占的長度越長,被隨機(jī)數(shù)選中的概率也越大。

    剛開始的時(shí)候,我以為是哪個(gè)數(shù)學(xué)家搞出來的公式得到的呢,結(jié)果原理卻出奇的簡單,所以好的東西不一定是復(fù)雜的,或者說看起來牛逼的東西,不一定就很復(fù)雜,但是肯定是大多數(shù)人意想不到的。

大云網(wǎng)官方微信售電那點(diǎn)事兒

責(zé)任編輯:售電衡衡

免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
?
主站蜘蛛池模板: 色接久久| 天天做天天爱夜夜爽毛片毛片| 日韩欧美亚洲综合一区二区| 日本免费一区二区三区最新vr| 日韩高清在线播放不卡| 香蕉综合视频| 青青伊人91久久福利精品| 午夜视频福利在线| 日韩精品福利片午夜免费| 欧美在线亚洲国产免m观看| 日本黄线在线播放免费观看| 亚洲一区二区色| 亚洲六区| 亚洲好骚综合| 欧美午夜精品| 亚洲aⅴ天堂| 一级毛片a女人刺激视频免费| 欧美在线综合| 色天天久久| 日韩污视频在线观看| 亚洲精品福利网站| 亚洲欧美日韩中文高清一| 青青青国产手机在线播放| 欧美午夜精品久久久久免费视| 日韩欧美在线综合| 日本黄色小视频在线观看| 日本欧美韩国一区二区三区| 亚洲v欧美v日韩v国产v| 亚洲a人| 日本xxxxx视频免费看| 思思久久99| 三级黄色电视剧| 日韩大乳视频中文字幕| 午夜福利国产一级毛片| 四虎激情影院| 日本特级视频| 亚洲精彩视频在线观看| 欧美午夜精品| 四虎影库网址| 日本黄色小说视频| 一级美国乱色毛片|