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

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

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

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

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

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

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

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

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

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

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

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

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

Използвайте най-лекия възможен метод

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

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

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

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 картографира нов източник. Продукционният пайплайн управлява директно основните request, proxy и browser endpoints, като е оркестриран да поддържа ниска цена на запис.

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

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

Резултатът

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

Изградете своя пайплайн на същата инфраструктура

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