内部体验腾讯负载均衡的新功能
版權(quán)聲明:本文由吳逸翔?原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處:?
文章原文鏈接:https://www.qcloud.com/community/article/538713001487764019
來(lái)源:騰云閣?https://www.qcloud.com/community
?
有個(gè)朋友的web服務(wù),因?yàn)樵诰€用戶數(shù)目平常波動(dòng)很大,按照最大在線數(shù)部署服務(wù)器顯然太浪費(fèi),所以選擇了騰訊云的彈性伸縮(AutoScaling)服務(wù),在每天用戶集中上線的時(shí)間點(diǎn)上快速擴(kuò)容服務(wù)器加入到集群中分散壓力。因此在集群遭遇到突發(fā)的訪問(wèn)壓力的時(shí)候,快速的自動(dòng)擴(kuò)容能力就顯得非常重要了。前陣子還專門為此請(qǐng)教了騰訊云專家,解析了快速生成主機(jī)的不傳之秘?。
但是快速生成了主機(jī)并加入集群,并不能確保主機(jī)快速的分擔(dān)壓力,因?yàn)轵v訊云的負(fù)載均衡目前只支持IP hash 和按權(quán)重輪詢兩種方式,這兩種分配算法在新服務(wù)器加入后都需要經(jīng)過(guò)一段短時(shí)間的預(yù)熱才能逐步分配到流量。因此擴(kuò)容后的曲線常常會(huì)是這樣子的(剛剛進(jìn)行的擴(kuò)容實(shí)測(cè),為了降低對(duì)業(yè)務(wù)影響測(cè)試了5分鐘就停掉了):
注意紅色曲線和橫軸重合的部分:
(第一分鐘0Mbps)
(第二分鐘0Mbps)
(第三分鐘0Mbps)
也就是說(shuō),雖然生成一臺(tái)服務(wù)器我們可以優(yōu)化到數(shù)十秒,但是新服務(wù)器加入集群后的前面幾分鐘幾乎沒(méi)有請(qǐng)求分發(fā)到新服務(wù)器上,隨后才步入正軌。這樣顯然延長(zhǎng)了壓力緩解過(guò)程,讓更多用戶忍受了幾分鐘的惡劣體驗(yàn)。
那有沒(méi)有辦法縮短這個(gè)過(guò)程呢?騰訊云近期將推出的新的負(fù)載均衡輪詢算法就可以解決這個(gè)問(wèn)題。新算法被稱為“最小連接數(shù)”算法,也就是LB會(huì)隨時(shí)判斷哪臺(tái)主機(jī)上的HTTP連接數(shù)最少,然后盡量把新的請(qǐng)求分發(fā)給它。經(jīng)過(guò)一番軟磨硬泡,終于從負(fù)載均衡團(tuán)隊(duì)磨到了新LB算法的內(nèi)測(cè)體驗(yàn)資格,立刻做了一個(gè)擴(kuò)容實(shí)驗(yàn)。我們來(lái)看看效果:
可以看到,最開始和橫軸重合的一段消失了,新服務(wù)器在接入的第一時(shí)間立刻分?jǐn)偟搅嗽L問(wèn)量并輸出流量,集群中過(guò)載的服務(wù)器壓力也就立刻得到了緩解。
不只是擴(kuò)容過(guò)程會(huì)從新算法中收益,實(shí)際上在以往的算法中,集群中的服務(wù)器都難以即時(shí)分擔(dān)彼此的壓力,當(dāng)某一臺(tái)或者幾臺(tái)服務(wù)器壓力過(guò)大的時(shí)候,LB只會(huì)繼續(xù)按照權(quán)重隨機(jī)的分配新的請(qǐng)求給它,而不是降低它的權(quán)重,讓它緩一緩。而在新算法中,如果一臺(tái)服務(wù)器負(fù)擔(dān)壓力過(guò)重導(dǎo)致請(qǐng)求無(wú)法及時(shí)響應(yīng)完成,LB就會(huì)觀察到它的連接數(shù)增加,并把更多的請(qǐng)求分配給連接數(shù)更少的服務(wù)器,從而達(dá)到更優(yōu)的負(fù)載均衡效果。
當(dāng)然,要充分獲得這些優(yōu)勢(shì)都要取決于接入服務(wù)器已經(jīng)實(shí)現(xiàn)了『無(wú)狀態(tài)化』這個(gè)前提,否則負(fù)載均衡也無(wú)法隨意的把一臺(tái)服務(wù)器的壓力轉(zhuǎn)移到另一臺(tái)上面。
分享至
??
轉(zhuǎn)載于:https://www.cnblogs.com/purpleraintear/p/6486189.html
總結(jié)
以上是生活随笔為你收集整理的内部体验腾讯负载均衡的新功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nginx 操作笔记
- 下一篇: 【bzoj3224】 Tyvj1728—