<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Dodder分布式 DHT 網(wǎng)絡(luò)爬蟲

          聯(lián)合創(chuàng)作 · 2023-09-29 13:48

                  ________      _________________
          ___  __ \___________  /_____  /____________
          __  / / /  __ \  __  /_  __  /_  _ \_  ___/
          _  /_/ // /_/ / /_/ / / /_/ / /  __/  /
          /_____/ \____/\__,_/  \__,_/  \___//_/     一個支持集群部署的分布式 DHT 網(wǎng)絡(luò)爬蟲。
          

          快速開始

          環(huán)境依賴

          演示地址

          https://dodder.cc

          單機(jī)運(yùn)行環(huán)境:

          • CPU: Intel Xeon E3-1230 v3 - 3.3 GHz - 4 core(s)
          • RAM: 32GB - DDR3
          • Hard Drive(s): 2x 1TB (HDD SATA)
          • Bandwidth: Unmetered @ 1Gbps

          整體架構(gòu)

          說明:項(xiàng)目中的dht-server、download-service、store-service都是可以集群部署的, dht-server負(fù)責(zé)爬取 DHT 網(wǎng)絡(luò)中的 info_hash,然后寫入到 Kafka 消息隊列中去,download-service 負(fù)責(zé)讀取 info_hash 信息到指定 ip 去下載種子文件的 metadata(集群部署時,注意設(shè)置好 kafka 主題的分區(qū)數(shù)量, 分區(qū)數(shù)量 >= 服務(wù)部署個數(shù))。下載好的 metadata 解析出文件信息封裝成 Torrent 對象寫入 Kafka 的 torrentMessages主題中去,store-service負(fù)責(zé)讀取 Torrent 存儲到 Elasticsearch 中去。

          去重:dht-server中使用Redis第一次進(jìn)行攔截過濾,download-service查詢Elasticsearch進(jìn)行 二次判斷去重,store-service中采用upsert進(jìn)行第三次去重。實(shí)際上upsert已經(jīng)完全可以進(jìn)行去重了, 前面兩次是用來減少下載次數(shù),提升爬取的速度。

          部署

          前面的環(huán)境全部搭好之后,clone 整個項(xiàng)目到本地,如果是集群部署請修改各個服務(wù)模塊里面的一些 ip 地址參數(shù), 我這里服務(wù)器有限,只拿了一臺服務(wù)器單機(jī)部署,集群部署有問題的歡迎提 issue。

          注意

          dht-server 需要公網(wǎng) IP 才能爬取到 info_hash

          瀏覽 20
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  牛牛AV国产一区二区 | 中文字幕在线观看网址 | 黄色高清网站 | 天干夜天干天天天爽色播 | 日一日射一射 |