Tous les articles

Cotes en direct à grande échelle : comment OddFeeds gère un flux de 250M de requests sur FourA

Comment OddFeeds gère un flux de cotes sportives en direct avec plus de 250 millions de requests et 50 TB par mois sur FourA, en ne payant que pour les requests réussies.

OddFeeds gère un flux de cotes sportives en direct. Il collecte les cotes de paris depuis des dizaines de sources en temps réel et les fournit sous forme de flux continu mis à jour.

Ce flux alimente OddStorm, une plateforme d'arbitrage sportif qui lit les cotes pour trouver des opportunités d'arbitrage. L'arbitrage est impitoyable: un prix qui arrive avec une seconde de retard, ou légèrement erroné, ne fait pas que faire mauvaise impression. Il se transforme en des millions d'arbitrages incorrects. Le flux a donc une exigence stricte qui ne se relâche jamais: rester rapide et précis, en continu, sur chaque source.

Les deux appartiennent à OddStorm.Company, un groupe de données sportives et d'arbitrage. Voici comment OddFeeds exécute son pipeline sur FourA.

Plus de 250 millions de requêtes par mois. Environ 50 téraoctets de trafic. Re-scanné toutes les une à deux secondes. Zéro crédit pour une requête échouée.

Scanner le marché toutes les une à deux secondes

Les cotes évoluent constamment, OddFeeds les relit donc toutes les une à deux secondes sur des dizaines de sources. À cette cadence, les chiffres deviennent vite importants: plus de 250 millions de requêtes par mois, et environ 50 téraoctets de trafic. Beaucoup de ces sources se trouvent derrière une gestion de bots stricte, ce qui est là où la plupart des configurations de scraping commencent à perdre de l'argent.

Pourquoi l'approche habituelle échoue ici

La facture s'alourdit à ce volume, et elle dépend de la façon dont un outil facture. Certains facturent par tentative, donc chaque blocage rencontré est de l'argent dépensé pour rien, et à des centaines de millions de requêtes, les tentatives échouées seules peuvent dépasser les dépenses utiles. D'autres facturent par bande passante, ce qui semble bon marché jusqu'à ce que le trafic soit important: au tarif de 0,30 $ par Go, 50 téraoctets par mois reviennent à 15 000 $ par mois, ou 180 000 $ par an, avant même de compter un seul blocage. En plus de l'un ou l'autre modèle, les sources les plus difficiles nécessitent un vrai navigateur et un chemin réseau propre pour simplement se charger, et faire cela pour chaque requête est lent et coûteux. Un pipeline qui lit le marché chaque seconde ne peut pas se permettre ces taxes.

Ne payez que pour ce qui fonctionne

Sur FourA, une requête échouée coûte zéro crédit. Seule une réponse valide et délivrée est facturée. Cette seule règle change la forme de la facture: les blocages, les délais d'attente et les nouvelles tentatives cessent de s'accumuler, et le coût suit les données qu'OddFeeds reçoit réellement. À cette échelle, ramener le prix de l'échec à zéro fait la différence entre un coût mensuel prévisible et un coût qui dérive avec chaque source.

Utilisez la méthode la plus légère qui fonctionne

FourA n'envoie pas chaque requête de la même manière. Les sources faciles sont lues directement par le moteur de requêtes léger. Lorsqu'une source résiste, l'endpoint proxy avec le débloqueur activé efface la grande majorité des défenses anti-bot par lui-même, sans navigateur. Pour la plupart des sources protégées, cela suffit, et cela reste bon marché.

Seules les sources les plus complexes nécessitent le moteur de navigateur, et ce, une seule fois. Il charge le site comme le fait un vrai navigateur et établit une session valide et validée. Cette session est ensuite transmise au moteur léger, qui la réutilise pour récupérer de nouvelles cotes des milliers de fois à une fraction du coût.

Le chemin coûteux est donc rare et n'est payé qu'une seule fois, puis réparti sur une longue série de lectures économiques. Le graphique ci-dessous illustre l'une de ces sessions complexes : une seule requête coûteuse pour l'établir, suivie d'une longue série d'actualisations peu coûteuses.

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, le endpoint unique de FourA qui prend une URL et renvoie du contenu, est utilisé pour la découverte quand OddFeeds mappe une nouvelle source. Le pipeline de production pilote directement les endpoints principaux de request, proxy et navigateur, orchestrés pour maintenir le coût par enregistrement à un niveau bas.

Rester fiable quand les sources résistent

Les sources se comportent différemment. Certaines ne fournissent des cotes qu'à certains pays. D'autres lancent un défi à chaque visite. FourA achemine chaque request via une sortie appropriée et le bon moteur, de sorte que le flux continue de circuler sans qu'une personne ne le règle par source. Le but n'est pas d'être astucieux pour le principe. C'est un pipeline de données légitime qui reste actif et précis pendant que les sources autour de lui changent.

Le résultat

OddFeeds gère un flux de cotes en direct à plus de 250 millions de requests et 50 téraoctets par mois, actualisé toutes les unes à deux secondes, avec un coût qui évolue selon les données obtenues plutôt que les tentatives ou les blocages. Les sources difficiles sont résolues une fois et lues à faible coût par la suite, et les échecs ne coûtent rien. C'est ce qui permet à un flux de cette taille de rester à la fois rapide et abordable.

Créez votre pipeline sur la même infrastructure

FourA est la plateforme sur laquelle OddFeeds fonctionne : ne payez que pour les requests réussies, résolvez les sources difficiles une seule fois, et évoluez sans que votre facture n'augmente avec vos échecs. Commencez gratuitement ou voir la tarification.