Как передать код другим компьютерам для постоянной работы? - PullRequest
0 голосов
/ 19 мая 2019

Я создал веб-скребок, который собирает информацию с веб-страниц и заполняет параметры / делает публикацию API, которая выполняется постоянно (есть несколько десятков тысяч страниц, которые нужно обработать, и каждый запрос занимает около 1 секунды, чтобы предотвратить слишком много запросов или 429 ошибок).

Я хочу упростить процесс, передав код на другие IP-адреса. Если я выполню больше запросов с моего IP, сайт, скорее всего, начнет блокировать запросы. Цель состоит в том, чтобы 4 или 5 экземпляров этого кода работали постоянно.

Единственное известное мне решение, которое могло бы работать, - это использование виртуальных машин для запуска дополнительных экземпляров кода, но я думаю, что есть более простые способы достижения этой цели.

1 Ответ

2 голосов
/ 19 мая 2019

«Аутсорсинг» - неправильное слово.

Терминология

Вы хотите «удаленное выполнение» или что-то вроде распределенных вычислений и, возможно, даже удаленных вызовов процедур .

Вы можете использовать JSONRPC . или RPC / XDR или XML-RPC или CORBA или SOAP или REST выше HTTP. Вы найдете (на github , gitlab , sourceforge , в вашем любимом дистрибутиве Linux и т. Д.) Много бесплатное программное обеспечение библиотеки , чтобы помочь вам (даже libssh ). Вы даже можете найти распределенные библиотеки для утилизации в Интернете.

В более общем случае вы можете сделать передачу сообщений (рассмотрим 0mq ) или сделать MapReduce . Возможно, вам понадобится текстовый протокол (поскольку их легче отлаживать, например, основанный на JSON) выше, возможно, сокетов Беркли .

Подробная информация о ОС .

Если в Linux читать ALP , то syscalls (2) , socket (7) , socket (2) и связанные, то tcp (7) .

...