介紹 AntColony(Github)是findit磁力搜索引擎的核心。用來在DHT網路中,收集活躍資源的infohash,下載並解析資源的種子文件,存入資料庫等。AntColony是若幹功能的合集,也可以單獨運行其中的部分功能,所以起“蟻群”這個名字也是很貼切的(沒錯,我就是愛動物世界)。主要分 ...
介紹
AntColony(Github)是findit磁力搜索引擎的核心。用來在DHT網路中,收集活躍資源的infohash,下載並解析資源的種子文件,存入資料庫等。AntColony是若幹功能的合集,也可以單獨運行其中的部分功能,所以起“蟻群”這個名字也是很貼切的(沒錯,我就是愛動物世界)。主要分一下幾塊:
- worker:爬蟲,收集資源infohash,可以同時啟動多個進程的worker,提高效率
- male:根據收集來的infohash去下載種子文件
- female:將種子文件錄入資料庫
- queen:簡單的入口,啟動pm2運行worker,male和female
目前啟動5個worker使用3000-3004的埠,2個male和1個female。
使用Mongodb儲存數據,這沒什麼好說的;使用pm2維護和監控node進程,也沒太多要說的,重點說下Redis。Redis里暫存的數據大概是這樣的:
- bucket:比較大的一個K桶
- infohash:就是已經收集到的infohashs(worker收集來的,male會用來下載種子)
- remoteNodes:worker新認識的節點,會依次“拜訪”的,目前只保存最新的10w個(一方面我的VPS記憶體小,另一方面真沒必要記錄太多)
- sysInfo:記錄一些統計信息,例如發出多少次請求,累積收集多少infohashs,目前已經發出15億次Request,這個頻率是可控的,worker 太瘋狂的話,VPS扛不住。
安裝&運行方法
詳細的使用方法請查看部署文檔
其他內容查看 http://keenwon.com/1436.html