
當災難襲來(lái),所有你需要考慮的是將用戶(hù)流量以最快速度轉移,離開(kāi)問(wèn)題區域。你需要立即降低影響。不要過(guò)于擔心根源問(wèn)題的修復,一旦將影響制止住,會(huì )有很多時(shí)間來(lái)解決這次事故。有些少見(jiàn)的事故,如前面提到的爆炸,需要數周的時(shí)間來(lái)恢復。但當數據中心變得越來(lái)越大的時(shí)候,即使常見(jiàn)的事故,如短暫的掉電,也可能需要幾天來(lái)恢復。讓一個(gè)有幾千臺服務(wù)器的數據中心運轉起來(lái)需要很長(cháng)的時(shí)間。在架構上要專(zhuān)注于最小化影響的持續時(shí)間,而不是事故持續時(shí)間間(通常它也不在你的掌握之中)。
那么,怎樣才能將流量從問(wèn)題站點(diǎn)轉出呢?通常的方案是使用全局負載均衡(Global Server Load Balancing,GLSB)平臺。這實(shí)際是一個(gè)動(dòng)態(tài)的授權DNS服務(wù)器,它能夠根據相關(guān)因素對同一域名給出不同的P地址。最常見(jiàn)的因素是鄰近性和可用性。假設你有兩個(gè)服務(wù)器,一個(gè)在西海岸,一個(gè)在東海岸,有不同的IP地址。當一來(lái)自舊金山的瀏覽器查詢(xún)你的域名時(shí),GSLB通常會(huì )返回西海岸服務(wù)器的IP地址,因為它靠近用戶(hù)并產(chǎn)生最佳的性能表現。如果駝鹿吃了西海岸的服務(wù)器,GSLB發(fā)現它不再響應,會(huì )給出東海岸服務(wù)器的P。這可能有點(diǎn)遠,但至少能工作。
事實(shí)上,GSLB并不像這樣簡(jiǎn)單,或者說(shuō)完美,它有兩個(gè)主要問(wèn)題。第一,瀏覽器實(shí)際從不直接詢(xún)問(wèn)GSLB。相反,它和當地的緩存遞歸DNS服務(wù)器會(huì )話(huà)。不要和授權DNS服務(wù)器(如你的GSLB)混淆,當地的解析器(recursor)為整個(gè)用戶(hù)群做了大部分的工作,緩存結果顯著(zhù)地降低了授權DNS服務(wù)器的流量,同時(shí)又為最終用戶(hù)改善了性能。真正和和你的GSLB會(huì )話(huà)的是解析器。所以,你的平臺只能根據解析器的位置來(lái)決定遠近,它并不知道哪個(gè)瀏覽器發(fā)出原始的請求和瀏覽器在哪里。大多數情況下,ISP提供解析器,他們離最終用戶(hù)相當近。因此,基于解析器遠近的路由大體上是合理的。不過(guò),確實(shí)有這樣的情況,有人使用離她電腦半個(gè)地球那么遠的解析器,這將導致不正確的鄰近性路由,以及較慢的互聯(lián)網(wǎng)體驗。
第二個(gè)問(wèn)題有關(guān)緩存。每個(gè)DNS回答被緩存在沿途的各個(gè)點(diǎn)。本地解析器緩存,瀏覽器也緩存。如果你的GSLB決定突然返回一個(gè)不同的網(wǎng)站建設IP,那將需要一些時(shí)間來(lái)讓老地址在緩存中失效,從而讓新地址通過(guò)。大部分人在GSLB記錄上設定1~5分鐘的存活時(shí)間(TTL),所以你可預期流量切換也至少需要這么長(cháng)的時(shí)間(通常會(huì )更長(cháng)一些)。注意有些解析器、瀏覽器與其他設備因各種理由不遵守TL,它們將永遠掛在老的被駝鹿吃了的P地址上,而不管事實(shí)上它已經(jīng)過(guò)期,并且不再工作了。結果在短時(shí)間內,一小部分用戶(hù)就會(huì )不能切換到新的數據中心。不過(guò)其數量微不足道。因為這些原因,一些人認為GSLB濫用DNS系統,我認為它多數情況下還是有效的。
本文地址:http://havencoinwallet.com//article/3360.html