Skip to main content

什么是异步请求?

异步请求让你提交抓取任务而无需等待结果。你发送一个请求,立即获得一个唯一 ID,然后稍后检索已完成的结果,就像留下语音邮件而不是一直等待接听。 使用同步请求时,你的连接保持打开直到结果到达(通常几秒钟)。使用异步时,结果在后台处理并存储 48 小时。你可以在需要时通过 API 轮询或 webhook 通知检索它们(通常 5 分钟,高峰期最长 8 小时)。

为什么异步请求很重要

如果你每天抓取数千个 URL,同步请求会产生瓶颈。问题在这里:使用同步请求跟踪 10,000 个产品价格意味着保持 10,000 个开放连接,每个持续 30 秒。这是 300,000 秒的并发连接时间,你的服务器将力不从心或崩溃。 异步将数据收集与处理分离。在一分钟内提交 10,000 个请求,然后在结果准备好时批量处理。你的基础设施保持轻量级,避免连接超时、线程阻塞和级联故障。

何时使用异步与同步

在以下情况使用异步:

  • 运行定时任务(夜间竞争对手分析,周度排名跟踪)
  • 抓取大量数据(每小时 500+ 个请求)
  • 构建数据管道,其中数据新鲜度在几分钟内可接受
  • 优化成本(异步提供 99.99% 的成功率 = 更少的重试)

在以下情况使用同步:

  • 处理实时用户请求(实时显示搜索结果)
  • 处理小量数据(每小时 < 100 个请求,其中简洁性很重要)
  • 原型设计并需要快速迭代
  • 需要不到 10 秒的响应时间
不要为用户面向功能使用异步,其中用户在主动等待结果。多分钟的延迟会损害用户体验。
真实示例: 电子商务平台使用异步在夜间抓取 50,000 个竞争对手价格以生成早晨报告,但在购物者点击的”立即检查此产品”按钮上使用同步。

工作原理

异步请求工作原理 关键差异: 你被计费用于第 1 步(请求提交),但不是第 2 步(结果检索)。结果存储 48 小时。 当你在处理完成前轮询时,你会获得 202 状态。设置 webhook 而不是轮询以避免浪费 API 调用:
SERP API:避免过度轮询。 与某些 API 不同,每个轮询请求都会单独计量并消耗资源。使用 webhook 获得即时通知,或最多每分钟轮询一次。

权衡

成本每个请求相同。 但是,异步的更高成功率意味着对于大规模操作。

常见问题

不。每个请求的定价相同,但更高的成功率意味着更少的重试。
结果从提交之日起存储 48 小时,然后自动删除。确保你的检索系统在此时间窗口内运行。
在你的区���设置中或使用 webhook_url 在每个请求中配置 webhook URL。Bright Data 在处理完成时 POST 通知。需要:将 webhook IP 列入白名单确保将这些稳定 IP 列入白名单,否则你的防火墙可能会阻止通知:
  • 100.27.150.189
  • 18.214.10.85
Webhook 设置指南 →
无法恢复。始终将响应 ID 与请求元数据一起存储在你的数据库中。
可以,但要创建单独的区域,每个区域要么是异步,要么是同步,不能两者都是。大多数用户为批处理作业运行异步,为临时请求运行同步。