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

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>
            99这里只有精品| 欧美国产日韩在线| 久久久久国产精品一区三寸| 亚洲精选国产| 欧美日本国产一区| 亚洲网址在线| ●精品国产综合乱码久久久久| 欧美一区二区三区视频免费播放| 亚洲欧美国产高清| 在线播放亚洲| 亚洲精品裸体| 欧美日韩性生活视频| 亚洲一区二区三区四区五区午夜| 欧美激情视频给我| 欧美成人亚洲成人日韩成人| 欧美日韩精品三区| 久久久久久久成人| 欧美大秀在线观看| 久久免费国产精品| 欧美激情第3页| 欧美性视频网站| 亚洲第一精品福利| 国产日本欧美在线观看| 亚洲伦理在线免费看| 激情六月婷婷久久| 亚洲欧洲av一区二区| 日韩视频永久免费观看| 亚洲在线中文字幕| 欧美亚洲免费电影| 国产精品一区毛片| 亚洲天堂男人| 欧美中文在线字幕| 国产欧美一区二区精品忘忧草| 亚洲免费精品| 亚洲欧美激情四射在线日 | 亚洲电影在线免费观看| 欧美在线亚洲综合一区| 久久人人爽人人| 精品二区久久| 欧美久久99| 亚洲视频欧美视频| 久久精品国产久精国产一老狼| 国产情侣久久| 久久精品国产亚洲一区二区| 欧美韩日一区二区三区| 一区二区91| 久久激情视频久久| 久久视频这里只有精品| 欧美精品在欧美一区二区少妇| 亚洲精品国产精品国自产在线| 亚洲人成毛片在线播放| 欧美日本高清| 久久丁香综合五月国产三级网站| 欧美一区二区三区另类| 亚洲国产视频a| 国产精品亚发布| 欧美高清不卡在线| 亚洲一区二区在线免费观看视频| 久久久久女教师免费一区| 中文亚洲视频在线| 伊人夜夜躁av伊人久久| 欧美日韩中文| 乱人伦精品视频在线观看| 99热这里只有精品8| 玖玖精品视频| 美女亚洲精品| 久久久99久久精品女同性| 亚洲国产高清自拍| 久久精品亚洲| 亚洲国产三级网| 欧美一区二区三区四区夜夜大片| 久久精品九九| 欧美一级视频一区二区| 亚洲欧美大片| 亚洲午夜未删减在线观看| 日韩网站免费观看| 亚洲免费大片| 亚洲一区二区三区精品视频| 亚洲精品你懂的| 久久综合久色欧美综合狠狠 | 亚洲精品一线二线三线无人区| 欧美一区国产二区| 久久精品国产免费看久久精品| 欧美主播一区二区三区| 国产精品福利影院| 国产精品扒开腿做爽爽爽软件 | 一本色道久久综合亚洲精品不 | 欧美黄污视频| 亚洲啪啪91| 亚洲国产欧美日韩精品| 亚洲精品在线免费观看视频| 亚洲欧洲精品一区| 亚洲午夜精品久久| 久久精品视频网| 欧美日在线观看| 国产精品a级| 亚洲精品视频免费| 久久婷婷影院| 狠狠色噜噜狠狠色综合久 | 午夜一区二区三区在线观看 | 欧美视频免费在线观看| 国产精品久久久久aaaa樱花| 国产精品成人一区二区三区吃奶| 在线性视频日韩欧美| 久久爱www久久做| 欧美区视频在线观看| 亚洲国产精品电影| 美女视频网站黄色亚洲| 午夜精品国产更新| 欧美亚洲在线观看| 久久综合狠狠综合久久综合88| 亚洲精品一级| 欧美片第1页综合| 亚洲黄网站在线观看| 久热精品在线视频| 久久久综合激的五月天| 日韩视频在线观看免费| 久久精品国产亚洲a| 国产一区二区久久久| 久久精品国产69国产精品亚洲 | 亚洲免费黄色| 亚洲高清视频在线观看| 麻豆久久婷婷| 中文精品视频| 一本一本a久久| 久久精品国产精品| 亚洲全部视频| 国产美女精品视频免费观看| 欧美在线3区| 美日韩精品免费观看视频| 夜夜爽www精品| 欧美亚洲视频在线看网址| 国产综合激情| 亚洲精品色婷婷福利天堂| 国产精品普通话对白| 欧美+亚洲+精品+三区| 欧美激情第9页| 免费成人你懂的| 美女黄网久久| 久久免费视频观看| 日韩一本二本av| 国产在线不卡| 亚洲精品国产日韩| 国产伦精品一区二区三区四区免费| 久久久久国产精品麻豆ai换脸| 欧美日韩亚洲综合一区| 欧美亚洲色图校园春色| 亚洲影院在线观看| 亚洲开发第一视频在线播放| 国内一区二区三区| 亚洲影院免费| 中文精品99久久国产香蕉| 麻豆国产va免费精品高清在线| 香蕉久久夜色精品国产使用方法| 免费成人美女女| 欧美成年人视频| 亚洲日本黄色| 欧美激情综合| 亚洲午夜av电影| 欧美精品在线极品| 欧美+日本+国产+在线a∨观看| 亚洲一区二区三区乱码aⅴ| 一区二区免费在线观看| 老司机精品福利视频| 欧美韩日一区| 夜夜嗨av一区二区三区网站四季av | 亚洲久久成人| 欧美在线三级| 久久婷婷久久一区二区三区| 尤物精品国产第一福利三区| 久久免费精品视频| 久久资源av| 91久久精品一区二区三区| 欧美电影电视剧在线观看| 亚洲美洲欧洲综合国产一区| 制服丝袜激情欧洲亚洲| 国产精品成人免费精品自在线观看| 日韩视频精品在线| 久久国产一区二区| 日韩一区二区免费高清| 国产精品爱久久久久久久| 午夜精品久久久久| 在线观看欧美日韩| 国产精品久久久久影院色老大| 欧美一区二区三区四区在线| 亚洲大胆视频| 久久婷婷色综合| 亚洲在线视频| 1024精品一区二区三区| 亚洲午夜激情网页| 国色天香一区二区| 国产精品一级久久久| 欧美大成色www永久网站婷| 一区二区日韩伦理片| 欧美大片免费观看| 免费亚洲一区| 久久网站热最新地址| 欧美中文字幕在线观看| 欧美在线免费观看| 久久久久国产精品人|