OddFeeds obsługuje kanał kursów bukmacherskich na żywo. Zbiera kursy z kilkudziesięciu źródeł w czasie rzeczywistym i dostarcza je jako jeden stale aktualizowany strumień.
Ten strumień zasila OddStorm, platformę do arbitrażu sportowego, która analizuje kursy w celu znalezienia możliwości arbitrażu. Arbitraż nie wybacza błędów: cena, która dotrze o sekundę za późno lub jest lekko niepoprawna, nie tylko źle wygląda. Zamienia się w miliony błędnych transakcji. Dlatego ten kanał ma jedno twarde wymaganie, od którego nie ma wyjątków: musi być szybki i dokładny, w sposób ciągły, dla każdego źródła.
Oba należą do OddStorm.Company, grupy zajmującej się danymi sportowymi i arbitrażem. Oto jak OddFeeds uruchamia swój rurociąg danych w FourA.
Ponad 250 milionów requestów miesięcznie. Około 50 terabajtów ruchu. Skanowanie co jedną do dwóch sekund. Zero kredytów za nieudany request.
Skanowanie rynku co jedną do dwóch sekund
Kursy ciągle się zmieniają, więc OddFeeds odczytuje je ponownie co jedną do dwóch sekund z kilkudziesięciu źródeł. Przy takim tempie liczby szybko rosną: ponad 250 milionów requestów miesięcznie i około 50 terabajtów ruchu. Wiele z tych źródeł znajduje się za zaawansowanymi systemami zarządzania botami, co jest miejscem, w którym większość konfiguracji do scrapowania zaczyna tracić pieniądze.
Dlaczego zwykłe podejście tutaj zawodzi
Rachunek rośnie przy takim wolumenie, a to zależy od modelu rozliczeń narzędzia. Niektóre pobierają opłatę za próbę, więc każda blokada na jaką trafisz to pieniądze wydane w błoto, a przy setkach milionów requestów same nieudane próby mogą przewyższyć użyteczne wydatki. Inne pobierają opłatę za transfer, co wygląda tanio, dopóki ruch nie jest duży: przy stawce 0,30 USD za GB, 50 terabajtów ruchu daje 15 000 USD miesięcznie, czyli 180 000 USD rocznie, zanim jeszcze zostanie policzona jakakolwiek blokada. Niezależnie od modelu, najtrudniejsze źródła potrzebują prawdziwej przeglądarki i czystej ścieżki sieciowej, aby w ogóle się załadować, a robienie tego dla każdego requestu jest powolne i kosztowne. System, który odczytuje rynek co sekundę, nie może sobie pozwolić na takie koszty.
Płać tylko za to, co działa
W FourA nieudany request kosztuje zero kredytów. Opłata jest pobierana tylko za dostarczony, ważny response. Ta jedna zasada zmienia kształt rachunku: blokady, przekroczenia limitu czasu i ponowne próby przestają się sumować, a koszt odzwierciedla dane, które OddFeeds faktycznie odbiera. Przy tej skali obniżenie ceny za niepowodzenie do zera to różnica między przewidywalnym miesięcznym kosztem a takim, który zmienia się z każdym źródłem.
Używaj najlżejszej metody, która działa
FourA nie wysyła każdego requestu w ten sam sposób. Łatwe źródła są czytane bezpośrednio przez lekki silnik zapytań. Gdy źródło stawia opór, proxy endpoint z włączonym odblokowywaniem sam omija zdecydowaną większość zabezpieczeń przed botami, bez użycia przeglądarki. Dla większości chronionych źródeł to wystarcza i pozostaje tanie.
Tylko najtrudniejsze źródła wymagają silnika przeglądarki, a nawet wtedy tylko raz. Ładuje on stronę tak, jak robi to prawdziwa przeglądarka i ustanawia poprawną, zweryfikowaną sesję. Ta sesja jest następnie przekazywana z powrotem do lekkiego silnika, który wykorzystuje ją ponownie do pobierania świeżych danych tysiące razy za ułamek kosztów.
Tak więc kosztowna ścieżka jest rzadka i opłacana tylko raz, a następnie rozkłada się na długą serię tanich odczytów. Poniższy wykres przedstawia jedną z tych trudniejszych sesji: pojedynczy, kosztowny request w celu jej ustanowienia, a następnie długi ogon niedrogich odświeżeń.
Auto, pojedynczy endpoint FourA przyjmujący URL i zwracający treść, jest używany do odkrywania, gdy OddFeeds mapuje nowe źródło. Produkcyjny pipeline bezpośrednio steruje głównymi endpointami request, proxy oraz przeglądarkowymi, zorkiestrowanymi w celu utrzymania niskiego kosztu za rekord.
Utrzymanie niezawodności, gdy źródła stawiają opór
Źródła zachowują się różnie. Niektóre serwują kursy tylko do określonych krajów. Niektóre weryfikują każdą wizytę. FourA kieruje każdy request przez odpowiednie wyjście i właściwy silnik, dzięki czemu feed działa nieprzerwanie, bez konieczności ręcznego dostrajania każdego źródła. Celem nie jest bycie sprytnym dla samego sprytu. To pełnoprawny data pipeline, który działa i pozostaje dokładny, podczas gdy źródła wokół niego stale się zmieniają.
Rezultat
OddFeeds utrzymuje feed z kursami na żywo przy ponad 250 milionach requestów i 50 terabajtach miesięcznie, odświeżany co jedną do dwóch sekund, a koszt skaluje się z poprawnie pobranymi danymi, a nie z próbami lub blokadami. Trudne źródła są rozwiązywane raz i później odczytywane tanio, a błędy nic nie kosztują. To właśnie pozwala tak dużemu feedowi pozostać zarówno szybkim, jak i opłacalnym.
Zbuduj swój pipeline na tej samej infrastrukturze
FourA to platforma, na której działa OddFeeds: płać tylko za udane requesty, rozwiązuj trudne źródła raz i skaluj się bez rachunków rosnących wraz z błędami. Zacznij za darmo lub zobacz cennik.