利用IP列表,減少DNS與負(fù)載的時(shí)間,可以提速嗎?

域名訪問或者ip訪問?

域名訪問方式處理的過程:


http.png
  1. 客戶端訪問DNS服務(wù)器,由域名拿到負(fù)載的外網(wǎng)ip
  2. 客戶端使用外網(wǎng)IP訪問負(fù)載
  3. 負(fù)載將請求分發(fā)給實(shí)際處理HTTP請求的Web-server

優(yōu)缺點(diǎn):

1 負(fù)載集中,業(yè)務(wù)上如果有需要的話可以統(tǒng)一處理,比如為進(jìn)來的每個(gè)請求加一個(gè)logID等
2 DNS被劫持,那么整個(gè)就掛了
3 DNS再快,負(fù)載再好也要需要解析傳輸?shù)臅r(shí)間,速度自然會受到影響

設(shè)想:

如果我們將整個(gè)實(shí)際處理的機(jī)器整成一個(gè)ip列表內(nèi)置在客戶端呢?比如app,先不考慮安全的元素下,這樣可以跳過DNS的解析與負(fù)載轉(zhuǎn)發(fā),直接訪問到實(shí)際工作的web-server(隨機(jī)訪問ipList或別的方式,這個(gè)可用不同的算法實(shí)現(xiàn)),先來描繪下這個(gè)流程,再說

設(shè)想流程


imagine.png

大致就是這個(gè)樣子:
1 本地沒有ipList時(shí),走一下DNS拿到一個(gè)外網(wǎng)的IP,發(fā)出請求,拿到IPlist與它的版本號
2 當(dāng)本地有ipList存在時(shí),直接拿IPLIst請求,當(dāng)然,版本號要與當(dāng)前保持一致,這么做是為了當(dāng)ip列表發(fā)生變化的可以讓客戶端感知并保持最新.不一致時(shí),才拉取

優(yōu)點(diǎn):

  1. 不需要每次做DNS解析,避免劫持與節(jié)省時(shí)間
  2. 節(jié)省負(fù)載的轉(zhuǎn)發(fā)時(shí)間(雖然也需要隨機(jī)計(jì)算或者別的算法計(jì)算)
  3. ipList可能長時(shí)間都不需要拉取,因?yàn)檫@個(gè)短時(shí)間不會有太大的變化,依然可以保持水平擴(kuò)展

能想到的弊端:

  1. 無法提供一個(gè)公共的入口,有些公共的事可能無法提供
  2. 安全問題,比如最核心的ipList的傳輸安全
  3. 地域,dns可以提供地域優(yōu)化解析,我們好像也可以根據(jù)位置與網(wǎng)絡(luò)識別去做,但是代價(jià)好像有點(diǎn)大

結(jié)束:

我還未看到有這么處理的架構(gòu),也沒想到更致命的問題
備注:成本問題,好像成本大了點(diǎn),ip加密等一頓處理,也是消耗.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容