青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xiaoxiaoling

C++博客 首頁 新隨筆 聯系 聚合 管理
  17 Posts :: 2 Stories :: 9 Comments :: 0 Trackbacks

 

 

dns的遞歸解析過程還是挺繁瑣的,要知道一個域名可能有cname、ns 而請求的cname、ns可能還有cname、ns,如果按照線性的處理每個請求那邏輯就變成毛線團了

dnspod的處理還是挺巧妙的,通過一個公共的數據集dataset將所有域名對應的a、cname、ns等類型的數據作為單獨的條目存入,當有需要某個域名的信息時先去dataset找,找不到在加入qlist請求根,有專門的線程不間斷的將qlist輪詢dataset找(這里只要次數允許,沒得到想要的結果就輪詢所有qlist到dataset找雖然可以簡化邏輯分離的徹底但是會是個性能瓶頸,后面有方案)當根返回以后只是簡單的將記錄(通常是一個域名的cname、ns或者a)存入dataset(而不是繼續流程,因為根據這個返回是cname還是ns或者a處理不同邏輯復雜,而這樣處理對于用到相同域名的請求還有優化作用),剩下的工作交給那邊不間斷輪詢的線程

 

Dnspod主要由3個run(若干個線程)組成

 

run_sentinel  監聽53端口接收客戶端請求,將請求放到隊列中

run_fetcher   從隊列中取出請求,根據qname取得最后一級cname,查看本地dataset 是否有記錄,如果有則返回,沒有則將該請求放入qlist中

 

run_quizzer    

1.不間斷的遍歷qlist,只要狀態為PROCESS_QUERYdataset中沒有的就向對應的根發送請求。

2.通過epoll等待根返回,解析返回的數據加入 dataset

3.檢查記錄的ttl,在將記錄加入dataset時還會將這些記錄以紅黑樹的形式組織起來,取得ttl最早到期的,將其放入qlist中等待刷新,注意這里不是刪除,如果收不到不返回則該記錄一直存在

 

關于dataset的實現

dataset是使用哈希表實現的,本質上是個二維數組,將域名哈希成一個值,模上數組的數量作為下標,找到對應的數組接著遍歷查找,根據需要可以擴大數組的數量提升性能。

 

我們的優化手段

之前提到dnspod的qlist會不間斷輪詢,屬于主動查詢,對性能有不小的影響,這里我們采取的做法是被動(類似回調的方式),我們將請求的域名和類型分類,相同的放在一組,當dataset找不到向根發出請求后我們并不每次主動輪詢,而是在等到應答后,觸發該域名和類型的請求組,讓他們根據自己的邏輯走下一步(一般是先找該域名的最后一級cname,根據這個cname查是否存在他的對應請求類型的記錄,一般是a或者ns,如果沒有,則找這個cname的ns)

 

以上可以看出dataset很重要,負載也不小,還經常需要并發訪問,這里我們每次接收到根的回復后,除了將記錄的答案加進dataset,還創建一個臨時的dataset,只存該次回復的信息,在后面的流程會優先到這里去找,沒有的再找dataset。

posted on 2017-01-23 15:14 clcl 閱讀(236) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品一区在线观看你懂的| 欧美xxx成人| 卡通动漫国产精品| 国产日韩欧美综合| 久久久精品tv| 免费在线成人| 亚洲国产欧美精品| 欧美激情一区二区| 久久久久久综合| 亚洲丶国产丶欧美一区二区三区| 国产一区二区精品丝袜| 久久久久久久久伊人| 欧美成人按摩| 亚洲欧美日韩中文播放| 精品av久久707| 欧美日韩中国免费专区在线看| 欧美久久久久中文字幕| 午夜在线精品| 亚洲国产精品久久久久久女王| 久久精品综合一区| 99国产精品99久久久久久粉嫩| 日韩视频免费在线观看| 国产精品久久一卡二卡| 久久久精品国产免费观看同学| 久久亚洲一区二区| 亚洲男女自偷自拍| 国产精品一二三四区| 久久久久国产一区二区三区| 免费成人在线观看视频| 香蕉久久a毛片| 亚洲免费观看| 麻豆国产精品一区二区三区| 亚洲伦伦在线| 美女视频网站黄色亚洲| 亚洲免费影院| 日韩网站在线| 在线日韩中文| 国产真实乱偷精品视频免| 欧美日韩免费| 欧美精品日本| 欧美黄色视屏| 欧美成人一品| 久久综合国产精品| 午夜精品视频| 亚洲在线一区| 亚洲视频久久| 老司机aⅴ在线精品导航| 亚洲欧美久久| 亚洲影院色无极综合| 99在线|亚洲一区二区| 在线观看视频一区二区欧美日韩| 亚洲免费视频网站| 亚洲欧美日韩电影| 亚洲专区免费| 亚洲男人第一av网站| 在线亚洲精品福利网址导航| 女女同性精品视频| 欧美91大片| 亚洲福利精品| 亚洲国产一区二区三区在线播 | 久久综合网络一区二区| 久久成人av少妇免费| 亚洲欧美电影院| 亚洲欧美日韩直播| 久久激情综合网| 麻豆成人综合网| 欧美国产在线观看| 美女黄色成人网| 欧美乱妇高清无乱码| 欧美日韩久久精品| 国产精品久久久久高潮| 国产欧美日韩综合一区在线观看 | 欧美在线视频a| 裸体女人亚洲精品一区| 免费在线看成人av| 男人的天堂成人在线| 蜜臀久久久99精品久久久久久| 久久综合色婷婷| 欧美成人久久| 日韩亚洲欧美成人一区| 在线亚洲免费视频| 久久精品在线观看| 欧美电影在线观看完整版| 久久久久久日产精品| 欧美国产综合视频| 国产精品video| 激情综合视频| 亚洲在线一区| 另类图片国产| 一区二区三区四区五区视频| 国产精品美女诱惑| 亚洲国产综合在线| 午夜精品久久久久久99热软件| 亚洲一区不卡| 欧美成人性生活| 国内精品久久久久久 | 亚洲黄色尤物视频| 性欧美xxxx视频在线观看| 欧美黄色一级视频| 亚洲综合国产精品| 欧美激情国产精品| 国内欧美视频一区二区| 亚洲一级片在线看| 美日韩精品免费| 亚洲影院高清在线| 欧美激情在线免费观看| 国产日韩欧美一区在线 | 久久麻豆一区二区| 99视频一区| 欧美wwwwww| 精品96久久久久久中文字幕无| 亚洲欧洲日本专区| 免费视频一区| 亚洲国产一成人久久精品| 久久精品视频亚洲| 亚洲网站视频福利| 欧美色欧美亚洲另类二区| 国产亚洲欧洲997久久综合| 亚洲午夜电影网| 亚洲精品视频免费观看| 免费黄网站欧美| 亚洲精品国产精品国自产在线| 亚洲欧美日韩中文视频| 国产精品日韩精品欧美精品| 欧美黄色日本| 欧美日韩大陆在线| 亚洲国产一区二区精品专区| 性欧美1819sex性高清| 欧美亚洲动漫精品| 亚洲视频综合在线| 99国产精品久久久久久久久久| 亚洲国产91| 亚洲国产精品一区二区尤物区| 国产亚洲欧美一区二区| 久久影院亚洲| 欧美激情视频一区二区三区免费 | 99精品视频免费全部在线| 久久免费国产| 亚洲福利视频一区| 亚洲第一精品夜夜躁人人爽 | 免费观看30秒视频久久| 久久精品盗摄| 91久久嫩草影院一区二区| 亚洲国产精品久久久久久女王| 在线不卡中文字幕| 91久久极品少妇xxxxⅹ软件| 亚洲国产综合在线看不卡| 亚洲人成毛片在线播放女女| 亚洲日产国产精品| 一区二区三区四区国产精品| 亚洲性线免费观看视频成熟| 国产精品v欧美精品v日韩 | 亚洲青色在线| 欧美视频免费在线| 欧美一区二区三区喷汁尤物| 国产精品www| 久久伊人亚洲| 欧美视频精品在线| 久久成人精品一区二区三区| 国产亚洲一区二区在线观看 | 亚洲视频1区| 国内精品伊人久久久久av一坑| 欧美在线91| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲国产免费| 国产精品99一区| 女人天堂亚洲aⅴ在线观看| 欧美日韩dvd在线观看| 欧美中文字幕在线观看| 欧美aa国产视频| 欧美亚洲免费电影| 欧美国产精品v| 久久久成人网| 国产精品国产自产拍高清av王其 | 国产美女扒开尿口久久久| 欧美电影在线观看| 国产亚洲欧美一区二区| 99国产精品国产精品久久| 亚洲国产欧美精品| 欧美中文字幕在线视频| 亚洲夜间福利| 欧美国产欧美综合| 久久综合伊人| 国产午夜精品视频| 欧美亚洲视频在线观看| 欧美福利视频一区| 久久久亚洲国产天美传媒修理工 | 欧美精品色网| 欧美激情网友自拍| 激情成人中文字幕| 欧美伊人精品成人久久综合97| 亚洲国产精品久久精品怡红院| 久久精品国亚洲| 国产视频欧美视频| 亚洲欧美日韩视频二区| 亚洲一区二区在线视频| 欧美成人蜜桃| 亚洲电影网站| 国产一区自拍视频| 午夜精品久久久久|