crawler
20190301
a single-threaded web crawler
url queue, 廣度優先搜尋 : 適合執行緒,hashset去重
producer consumer pattern:
buffer
孤島?非連通圖
多執行緒比單執行緒快
共享資源的寫操作:互斥
a multi-threaded web crawler
sleep, condition variable, sophomore
執行緒切換:context switch限制
埠數限制
單台機器頻寬限制
a distributed-threaded web crawler
沒法控制某些待抓取網頁的優先順序?
url queue 全部網頁 記憶體40tb?
引入data table:
每乙個url變成乙個task,且標記狀態 idle 或 working
task service : db table
storage service : mysql
slow select: 1 trillion rows?slow?sharding 拆表 speed up
task tables
dead cycle? sina.com 自己相關的url
sina < 10%
multi-region? 不同地區爬網頁時間不同
crawler service, task service, storage service 架設並資料同步
typehead
google suggestion
daily active user: 500m
6times * 4letters *500m = 12b
qps = 12b/86400 = 138k
peak qps = 276k
log data from datacollectionservice
keyword, hit_count
…, …
兩周之內以a為開頭的keyword: select 操作
where keyword like 『abc%』
order by hit_count desc
limit 10
to reduce query time
磁碟讀寫速率基本上是記憶體的1000倍
磁碟前擋一快取memcached
trie tree
o(26^n) slow?
直接存結果:
[, … ] 直接存到節點上
記憶體的資料結構轉成字串
serialize 序列化
deserialize 解序列化
記憶體到磁碟的轉換關係
live(使用者請求中)不能更新trie 不能邊讀邊寫?
offline更新
教父3 筆記
教父3是一部很矯情的 原因在於教父3就是一部斬草不除根,然後還亮將禍患留在自己身邊,首領貼心照顧偏愛這個禍害,禍害長大了開始秘密禍害這個家族,然後首領還是不忍心處理掉這個禍害,忠心耿耿的手下被殺才布局讓手下去除掉禍害!大部分時間講述好萊塢的各種齷齪和骯髒,我猜想國內大部分是看電影過來的,如果以閱讀 ...
CSS3筆記 漸變
漸變,可以在兩個或多個指定的顏色之間顯示平穩的過渡。相容性 ie10 chrome10 firefox3.6 safari5.1 opear 11.6 沿著一根軸改變顏色,顏色從起點到終點進行順序漸變 從一邊拉向另一邊 語法 字首不同,其他一致 background linear gradient ...
python3筆記 函式
建立函式 def 函式名 引數列表 函式語句 函式的命名規則 乙個單詞直接小寫 多個單詞,每個單詞小寫,以下劃線分隔 文件化說明 函式首行加 或 使用函式名.doc 屬性 可以檢視函式文件 help 函式名 callable 函式名 判斷函式是否可以被呼叫 pass 佔位 引數預設引數 預設值最好是...