<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>

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

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

           zerg

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

          特性

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

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

          • 負(fù)載均衡

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

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

          • 支持 GET、HEAD、POST 方法

          • 支持自定義 header

          如何部署

          第一步:配置 etcd

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

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

          第二步:啟動 registrator 服務(wù)發(fā)現(xiàn)程序

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

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

          請把上面的 etcd 接入點換成你的 etcd 地址。

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

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

          ./build_docker_image.sh

          這會生成 unmerged/zerg 容器。然后在集群的每臺服務(wù)器上啟動容器:

          docker run -d -P unmerged/zerg

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

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

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

          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、本地測試

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

          go run service.go

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

          go run single_machine_crawl.go --url http://taobao.com
          瀏覽 22
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(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>
                  国产传媒-第1页-MM606-萌萌视频 | 欧美日韩一 | 国产精品成人一区二区三区电影毛片 | 亚洲天堂电影网 | 大香蕉在线大香蕉国产 |