← Всички публикации

Коефициенти на живо в голям мащаб: как OddFeeds поддържа фийд с 250 млн. заявки в FourA

Как OddFeeds поддържа фийд за спортни коефициенти на живо с над 250 милиона заявки и 50TB месечно в FourA, като плаща само за успешни заявки.

OddFeeds поддържа поток от спортни коефициенти на живо. Услугата събира коефициенти за залози от десетки източници в реално време и ги предоставя като един непрекъснато обновяван поток.

Този поток захранва OddStorm, платформа за спортен арбитраж, която анализира коефициентите за откриване на арбитражни възможности. Арбитражът не прощава грешки: цена, която закъснява с една секунда или съдържа леко разминаване, не просто изглежда зле. Тя води до милиони некоректни арбитражи. Затова потокът има едно твърдо изискване, което никога не търпи компромис: да остане бърз и точен, непрекъснато, за всеки отделен източник.

И двете платформи са част от OddStorm.Company, група за спортни данни и арбитраж. Ето как OddFeeds управлява своя pipeline върху FourA.

Над 250 милиона requests на месец. Около 50 терабайта трафик. Повторно сканиране на всеки една до две секунди. Нула кредити за неуспешен request.

Сканиране на пазара на всеки една до две секунди

Коефициентите се променят непрекъснато, затова OddFeeds ги прочита отново на всеки една до две секунди от десетки източници. При това темпо числата нарастват бързо: над 250 милиона requests на месец и около 50 терабайта трафик. Много от тези източници са защитени със сериозен bot management, където повечето инфраструктури за scraping започват да губят сериозни средства.

Защо обичайният подход се проваля тук

Сметката нараства лавинообразно при такъв обем и зависи от модела на таксуване на инструмента. Някои таксуват на опит, така че всеки получен block означава похарчени пари напразно, а при стотици милиони requests само неуспешните опити могат да надхвърлят полезния разход. Други таксуват на трафик, което изглежда евтино, докато обемът не стане голям: при цена от $0.30 на GB, 50 терабайта месечно възлизат на $15,000 на месец или $180,000 на година, преди изобщо да се отчете дори един block. На всичкото отгоре най-трудните източници изискват реален браузър и чист мрежов маршрут, за да се заредят изобщо, а изпълнението на това за всеки request е бавно и скъпо. Един pipeline, който чете пазара всяка секунда, не може да си позволи тези такси.

Плащане само за това, което работи

Във FourA неуспешният request струва нула кредити. Таксува се само доставен, валиден response. Това единствено правило променя изцяло сметката: блокиранията, изтичането на времето (timeouts) и повторните опити спират да се натрупват като разход, а цената отразява данните, които OddFeeds реално получава. В този мащаб свеждането на цената на неуспеха до нула е разликата между предвидим месечен разход и такъв, който варира неконтролируемо с всеки източник.

Използване на най-лекия работещ метод

FourA не изпраща всеки request по един и същи начин. Лесните източници се четат директно от олекотения request engine. Когато даден източник оказва съпротива, proxy endpoint с браузърен профил сваля огромната част от страниците самостоятелно, без реален браузър. За повечето защитени източници това е напълно достатъчно и остава евтино.

Само най-трудните източници изискват browser engine, и дори тогава само веднъж. Той зарежда сайта точно както реален браузър и установява валидна, изчистена сесия. Тази сесия след това се предава обратно на олекотения двигател, който я преизползва, за да извлича актуални коефициенти хиляди пъти на част от цената.

Така скъпият път е едновременно рядък и се заплаща само веднъж, след което се разпределя върху дълга поредица от евтини четения. Графиката по-долу показва една от тези по-трудни сесии: една-единствена скъпа 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, one-shot endpoint на FourA, който приема URL и връща съдържание, се използва за откриване, когато OddFeeds картографира нов източник. Производственият pipeline управлява директно основните request, proxy и browser endpoints, оркестрирани така, че да поддържат ниска цената на запис.

Надеждност при съпротива от източниците

Източниците се държат различно. Някои предоставят коефициенти само за определени държави. Някои поставят проверки при всяко посещение. FourA пренасочва всяка заявка през подходящ изход и правилния engine, така че feed-ът да продължава да работи, без да се налага човек да го настройва за всеки източник. Целта не е демонстрация на умения сама по себе си. Това е легитимен data pipeline, който остава активен и точен, докато източниците около него непрекъснато се променят.

Резултатът

OddFeeds поддържа live feed с коефициенти при над 250 милиона заявки и 50 терабайта месечно, обновяван на всеки една до две секунди, с разходи, които се мащабират с успешно получените данни, а не с броя опити или блокирания. Трудните източници се решават веднъж и след това се четат евтино, а неуспешните опити не струват нищо. Това позволява feed с такъв мащаб да остане едновременно бърз и достъпен.

Изградете своя pipeline върху същата инфраструктура

FourA е платформата, върху която работи OddFeeds: плащайте само за успешни заявки, решавайте трудните източници веднъж и мащабирайте, без сметката ви да расте заедно с неуспешните опити. Започнете безплатно или вижте цените.