OddFeeds управляет потоком спортивных коэффициентов в реальном времени. Он собирает коэффициенты ставок из десятков источников и доставляет их в виде единого постоянно обновляемого потока.
Этот поток питает OddStorm, платформу спортивного арбитража, которая читает коэффициенты для поиска арбитражных ситуаций. Арбитраж не прощает ошибок: цена, пришедшая на секунду позже или с небольшой неточностью, не просто выглядит плохо. Она превращается в миллионы некорректных арбитражей. Поэтому к потоку предъявляется одно жесткое требование, которое никогда не ослабевает: оставаться быстрым и точным постоянно для каждого источника.
Оба продукта принадлежат OddStorm.Company, группе по работе со спортивными данными и арбитражем. Вот как OddFeeds запускает свой пайплайн на FourA.
Более 250 миллионов запросов в месяц. Около 50 терабайт трафика. Повторное сканирование каждые одну-две секунды. Ноль кредитов за неудачный запрос.
Сканирование рынка каждые одну-две секунды
Коэффициенты постоянно меняются, поэтому OddFeeds перечитывает их каждые одну-две секунды из десятков источников. При таком темпе цифры быстро растут: более 250 миллионов запросов в месяц и около 50 терабайт трафика. Многие из этих источников скрыты за серьезными системами защиты от ботов, и именно здесь большинство решений для скрейпинга начинают сжигать деньги.
Почему обычный подход здесь не работает
Счет растет при таком объеме, и все зависит от модели тарификации инструмента. Некоторые берут плату за попытку, поэтому каждая блокировка означает деньги, потраченные впустую, а при сотнях миллионов запросов одни только неудачные попытки могут превысить полезные затраты. Другие берут плату за пропускную способность, что кажется дешевым, пока трафик не станет огромным: при ставке $0.30 за ГБ 50 терабайт в месяц обойдутся в $15000 в месяц или $180000 в год, и это еще до учета блокировок. В дополнение к любой из этих моделей, для самых сложных источников нужен реальный браузер и чистый сетевой маршрут для базовой загрузки, а делать это для каждого запроса медленно и дорого. Пайплайн, который читает рынок каждую секунду, не может позволить себе такие издержки.
Платите только за то, что работает
В FourA неудачный запрос стоит ноль кредитов. Оплачивается только доставленный и валидный ответ. Одно это правило меняет структуру счета: блокировки, таймауты и повторные попытки перестают накапливаться, и стоимость отражает только те данные, которые OddFeeds реально получает. В таком масштабе снижение цены за ошибку до нуля означает разницу между предсказуемыми ежемесячными расходами и расходами, которые плавают в зависимости от источника.
Используйте самый легкий из работающих методов
FourA не отправляет все запросы одинаково. Простые источники читаются напрямую через легкий движок запросов. Если источник сопротивляется, proxy endpoint с включенным разблокировщиком самостоятельно снимает подавляющее большинство защит от ботов без использования браузера. Для большинства защищенных источников этого достаточно, и это остается дешевым.
Только самым сложным источникам требуется браузерный движок, и то лишь один раз. Он загружает сайт так же, как настоящий браузер, и устанавливает валидную, чистую сессию. Затем эта сессия передается обратно легковесному движку, который переиспользует ее для получения свежих коэффициентов тысячи раз за малую долю стоимости.
Таким образом, дорогой путь используется редко и оплачивается только один раз, а затем распределяется на длинную серию дешевых чтений. График ниже показывает одну из таких сложных сессий: один дорогой request для ее установки, а затем длинный хвост недорогих обновлений.
Auto, одноразовый endpoint от FourA, который принимает URL и возвращает контент, используется для поиска, когда OddFeeds размечает новый источник. Продуктовый пайплайн напрямую управляет основными endpoint'ами для request, proxy и браузера. Это организовано так, чтобы сохранять низкую стоимость за запись.
Сохранение надежности при защите источников
Источники ведут себя по-разному. Некоторые отдают коэффициенты только определенным странам. Некоторые выдают challenge при каждом посещении. FourA направляет каждый request через подходящую точку выхода и правильный движок. Благодаря этому фид продолжает работать без ручной перенастройки каждого источника человеком. Цель не в технологичности ради нее самой. Это полноценный пайплайн данных, который остается доступным и точным, пока источники вокруг него меняются.
Результат
OddFeeds поддерживает лайв-фид коэффициентов объемом более 250 миллионов request'ов и 50 терабайт в месяц. Обновление происходит каждые одну-две секунды. Стоимость масштабируется пропорционально успешным данным, а не попыткам или блокировкам. Сложные источники решаются один раз и после этого дешево читаются, а ошибки ничего не стоят. Именно это позволяет такому масштабному фиду оставаться быстрым и доступным.
Постройте свой пайплайн на той же инфраструктуре
FourA, это платформа, на которой работает OddFeeds. Платите только за успешные request'ы, решайте сложные источники один раз и масштабируйтесь без роста счета за ошибки. Начать бесплатно или посмотреть цены.