1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Zerg基于docker的分布式爬蟲服務(wù)

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

         zerg

            基于docker的分布式爬蟲服務(wù)

        特性

        • 多機(jī)多 IP,充分利用 IP 資源

        • 服務(wù)自動(dòng)發(fā)現(xiàn)和注冊(cè)(基于 etcd 和 registrator)

        • 負(fù)載均衡

        • 服務(wù)端客戶端通信基于 gRPC,支持多種編程語(yǔ)言的客戶端

        • 可設(shè)置抓取超時(shí)

        • 支持 GET、HEAD、POST 方法

        • 支持自定義 header

        如何部署

        第一步:配置 etcd

        我把 etcd 容器化了,并開發(fā)了腳本使得部署 etcd cluster 非常容易,見 github.com/huichen/etcd_docker

        為了容災(zāi),請(qǐng)至少在三臺(tái)服務(wù)器上運(yùn)行 etcd 實(shí)例。為了方便調(diào)用,你可以固定 etc endpoint 的端口號(hào),并在所有機(jī)器上手工添加 etcd host 的 hostname。

        第二步:?jiǎn)?dòng) registrator 服務(wù)發(fā)現(xiàn)程序

        你需要在集群的每一臺(tái)服務(wù)器上都運(yùn)行 registrator,這使得我們可以自動(dòng)發(fā)現(xiàn)和注冊(cè)分布式服務(wù)

        docker run -d --name=registrator --net=host --volume=/var/run/docker.sock:/tmp/docker.sock \
          gliderlabs/registrator etcd://<etcd 接入點(diǎn)的 ip:port>/services

        請(qǐng)把上面的 etcd 接入點(diǎn)換成你的 etcd 地址。

        第三步:部署 zerg 服務(wù)

        進(jìn)入 service_container 子目錄,然后運(yùn)行

        ./build_docker_image.sh

        這會(huì)生成 unmerged/zerg 容器。然后在集群的每臺(tái)服務(wù)器上啟動(dòng)容器:

        docker run -d -P unmerged/zerg

        registrator 會(huì)自動(dòng)注冊(cè)這些服務(wù)到 etcd。如果單機(jī)有多個(gè) IP,你可以單機(jī)啟動(dòng)多個(gè)容器,并在 -P 中分別指定 IP。

        第四步:調(diào)用樣例代碼

        進(jìn)入 examples 目錄,運(yùn)行

        go run zerg_crawl.go --endpoints http://<你的 etcd host:ip> --url http://taobao.com

        可選步驟

        1、重新生成 protobuf service

        protoc protos/crawl.proto --go_out=plugins=grpc:protos -I protos/

        2、本地測(cè)試

        啟動(dòng)本地服務(wù)。進(jìn)入 service_container 目錄,然后運(yùn)行

        go run service.go

        然后進(jìn)入 examples 目錄,運(yùn)行

        go run single_machine_crawl.go --url http://taobao.com
        瀏覽 22
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            深夜三片日剧大尺度 | 国产日产久久高清欧美 | 久久久久99精品成人片欧美一区 | 青青草激情视频 | 国产TS人妖在线视频网站 | 国产精品23p | 国产v视频| 国产婷婷成人久久Av免费 | 欧美久草| 欧美成人网站在线 |