OddFeeds 提供实时体育赔率订阅。它实时收集来自数十个来源的投注赔率,并将其作为一个持续更新的数据流进行交付。
该数据流馈送至 OddStorm,这是一个体育套利平台,读取这些赔率以发现套利机会。套利是无情的,晚到一秒或略有差错的价格不仅仅是看起来不好。它会变成数百万个错误的套利。因此,订阅流有一个永远不容放松的硬性要求:在每个来源上持续保持快速和准确。
这两者都属于体育数据和套利集团 OddStorm.Company。这就是 OddFeeds 如何在 FourA 上运行其管道的方式。
每月超过 2.5 亿次 request。大约 50 TB 的流量。每 1 到 2 秒重新扫描一次。失败的 request 不扣积分。
每 1 到 2 秒扫描市场
赔率不断变动,因此 OddFeeds 每 1 到 2 秒就会在数十个来源重新读取它们。在这样的节奏下,数字会迅速变大,每月超过 2.5 亿次 request,大约 50 TB 的流量。许多这些来源都位于严密的机器人管理工具之后,这通常是大多数抓取设置开始烧钱的地方。
为什么常规方法在这里行不通
账单在这种数据量下会复合增长,并且取决于工具的收费方式。有些按尝试次数收费,因此您遇到的每次封锁都是白白浪费金钱,并且在数亿次 request 下,仅失败的尝试就可能超过有用的支出。其他按带宽收费,这看起来很便宜,直到流量变大,以每 GB 0.30 美元的价格计算,每月 50 TB 相当于每月 15,000 美元,或每年 180,000 美元,这还没算上遇到封锁的情况。除了这两种模式之外,最困难的来源需要真正的浏览器和干净的网络路径才能加载,并且为每个 request 执行此操作既缓慢又昂贵。每秒读取市场的管道无法承担这些费用。
只为有效的 request 付费
在 FourA 上,失败的 request 消耗零积分。只有成功交付的有效 response 才会计费。这一规则改变了账单的构成,封锁、超时和重试不再累积,成本仅跟踪 OddFeeds 实际收到的数据。在这样的规模下,将失败的成本降至零,意味着可预测的每月成本与随每个来源漂移的成本之间的区别。
使用最轻量级的有效方法
FourA 不会以相同的方式发送每个 request。简单的来源由轻量级 request 引擎直接读取。当来源进行反击时,打开了解锁器的 proxy endpoint 单独清除了大部分反机器人防御,无需使用浏览器。对于大多数受保护的来源,这就足够了,并且保持了低成本。
只有最难抓取的源才需要浏览器引擎,而且仅需一次。它像真实浏览器一样加载网站,并建立一个有效、已验证的 session。然后该 session 被交还给轻量级引擎,后者复用它以极低的成本提取数千次最新赔率。
因此,高成本路径不仅罕见且仅需执行一次,然后分摊到长期的低成本读取中。下图展示了这类较难的 session 之一:通过单次高成本的 request 来建立,随后是长尾的低成本刷新。
Auto是FourA的一次性endpoint,接收URL并返回内容,在OddFeeds映射新数据源时用于发现阶段。生产环境的数据管道直接驱动核心request、proxy和browser endpoint,通过编排来保持单条记录的低成本。
在数据源阻拦时保持可靠
各个数据源的行为各不相同。有些仅向特定国家提供赔率,有些则会对每次访问发起验证。FourA将每个request通过合适的出口和正确的引擎进行路由,让数据流持续运转,无需人工针对每个数据源进行微调。我们的目标并非为了耍聪明,而是建立一个合法的数据管道,在周围数据源不断变化时依然保持稳定和准确。
结果
OddFeeds每月运行超过2.5亿次request和50TB流量的实时赔率源,每一到两秒刷新一次,其成本仅随成功获取的数据而扩展,而非尝试或被屏蔽的次数。难以抓取的数据源只需解决一次,之后即可低成本读取,且失败不会产生费用。正是这一点让如此庞大的数据源既快速又可负担。
在相同基础设施上构建您的数据管道
FourA是运行OddFeeds的平台:仅按成功的request付费,一次性解决困难数据源,并在扩展时不会因失败请求而增加账单费用。免费开始使用或查看定价。