Продажи скоро откроются. Цены ниже показывают, сколько мы планируем брать. Инструменты на сайте уже работают.

Ротация или sticky-сессии: что выбрать

Выбор сводится к одному вопросу: зависит ли следующий запрос от предыдущего?

Что делает каждый режим

При ротации каждый запрос может выходить с другого IP. В sticky-сессии запросы с одним идентификатором остаются на одном IP заданное время. В нашей сети разница — это суффикс в логине прокси: -session-ab12cd-time-10.

Ротация, когда запросы независимы

Проверка 500 страниц товаров или одного поискового запроса на каждую локацию не требует общего состояния. Ротация распределяет запросы по адресам, а сбой на одном IP не затрагивает следующий запрос. Поэтому она и стоит по умолчанию, и управлять сессиями в коде не нужно.

Sticky-сессия, когда запросы связаны

Некоторые сценарии ломаются, если адрес меняется на полпути: браузер загружает страницу и её ресурсы, постраничный переход хранит состояние в cookie, выбранный регион привязан к сессии. Держите такие запросы на одном IP.

Какой длины должна быть сессия?

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

Будьте готовы к пропаже IP

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

Простое правило

  1. Начните с ротации.
  2. Если задача падает из-за потери состояния между запросами, объедините эти запросы в sticky-сессию.
  3. Создавайте новый идентификатор на каждый сценарий, а не один на всю задачу.

Генератор URL прокси создаёт список URL с отдельными сессиями.