Все статьи

Лайв-коэффициенты в масштабе: как OddFeeds поддерживает фид на 250 млн запросов на FourA

Как OddFeeds поддерживает фид спортивных лайв-коэффициентов с объемом более 250 млн запросов и 50 ТБ в месяц на FourA, оплачивая только успешные запросы.

OddFeeds управляет потоком спортивных коэффициентов в реальном времени. Он собирает коэффициенты ставок из десятков источников и доставляет их в виде единого постоянно обновляемого потока.

Этот поток питает OddStorm, платформу спортивного арбитража, которая читает коэффициенты для поиска арбитражных ситуаций. Арбитраж не прощает ошибок: цена, пришедшая на секунду позже или с небольшой неточностью, не просто выглядит плохо. Она превращается в миллионы некорректных арбитражей. Поэтому к потоку предъявляется одно жесткое требование, которое никогда не ослабевает: оставаться быстрым и точным постоянно для каждого источника.

Оба продукта принадлежат OddStorm.Company, группе по работе со спортивными данными и арбитражем. Вот как OddFeeds запускает свой пайплайн на FourA.

Более 250 миллионов запросов в месяц. Около 50 терабайт трафика. Повторное сканирование каждые одну-две секунды. Ноль кредитов за неудачный запрос.

Сканирование рынка каждые одну-две секунды

Коэффициенты постоянно меняются, поэтому OddFeeds перечитывает их каждые одну-две секунды из десятков источников. При таком темпе цифры быстро растут: более 250 миллионов запросов в месяц и около 50 терабайт трафика. Многие из этих источников скрыты за серьезными системами защиты от ботов, и именно здесь большинство решений для скрейпинга начинают сжигать деньги.

Почему обычный подход здесь не работает

Счет растет при таком объеме, и все зависит от модели тарификации инструмента. Некоторые берут плату за попытку, поэтому каждая блокировка означает деньги, потраченные впустую, а при сотнях миллионов запросов одни только неудачные попытки могут превысить полезные затраты. Другие берут плату за пропускную способность, что кажется дешевым, пока трафик не станет огромным: при ставке $0.30 за ГБ 50 терабайт в месяц обойдутся в $15000 в месяц или $180000 в год, и это еще до учета блокировок. В дополнение к любой из этих моделей, для самых сложных источников нужен реальный браузер и чистый сетевой маршрут для базовой загрузки, а делать это для каждого запроса медленно и дорого. Пайплайн, который читает рынок каждую секунду, не может позволить себе такие издержки.

Платите только за то, что работает

В FourA неудачный запрос стоит ноль кредитов. Оплачивается только доставленный и валидный ответ. Одно это правило меняет структуру счета: блокировки, таймауты и повторные попытки перестают накапливаться, и стоимость отражает только те данные, которые OddFeeds реально получает. В таком масштабе снижение цены за ошибку до нуля означает разницу между предсказуемыми ежемесячными расходами и расходами, которые плавают в зависимости от источника.

Используйте самый легкий из работающих методов

FourA не отправляет все запросы одинаково. Простые источники читаются напрямую через легкий движок запросов. Если источник сопротивляется, proxy endpoint с включенным разблокировщиком самостоятельно снимает подавляющее большинство защит от ботов без использования браузера. Для большинства защищенных источников этого достаточно, и это остается дешевым.

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

Таким образом, дорогой путь используется редко и оплачивается только один раз, а затем распределяется на длинную серию дешевых чтений. График ниже показывает одну из таких сложных сессий: один дорогой request для ее установки, а затем длинный хвост недорогих обновлений.

Credits per request across one sessionOne browser solve, then the request engine replays the cleared session.010203030 cr2 cr eachrequest 1later in the sessionBrowser solveCheap replayAverage cost / request

Auto, одноразовый endpoint от FourA, который принимает URL и возвращает контент, используется для поиска, когда OddFeeds размечает новый источник. Продуктовый пайплайн напрямую управляет основными endpoint'ами для request, proxy и браузера. Это организовано так, чтобы сохранять низкую стоимость за запись.

Сохранение надежности при защите источников

Источники ведут себя по-разному. Некоторые отдают коэффициенты только определенным странам. Некоторые выдают challenge при каждом посещении. FourA направляет каждый request через подходящую точку выхода и правильный движок. Благодаря этому фид продолжает работать без ручной перенастройки каждого источника человеком. Цель не в технологичности ради нее самой. Это полноценный пайплайн данных, который остается доступным и точным, пока источники вокруг него меняются.

Результат

OddFeeds поддерживает лайв-фид коэффициентов объемом более 250 миллионов request'ов и 50 терабайт в месяц. Обновление происходит каждые одну-две секунды. Стоимость масштабируется пропорционально успешным данным, а не попыткам или блокировкам. Сложные источники решаются один раз и после этого дешево читаются, а ошибки ничего не стоят. Именно это позволяет такому масштабному фиду оставаться быстрым и доступным.

Постройте свой пайплайн на той же инфраструктуре

FourA, это платформа, на которой работает OddFeeds. Платите только за успешные request'ы, решайте сложные источники один раз и масштабируйтесь без роста счета за ошибки. Начать бесплатно или посмотреть цены.