> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brightdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 了解异步请求

> 学习何时为 Unlocker / SERP API 使用异步与同步请求，以及每种方法如何影响性能、成本和架构。

## 什么是异步请求？

异步请求让你提交抓取任务而无需等待结果。你发送一个请求，立即获得一个唯一 ID，然后稍后检索已完成的结果，就像留下语音邮件而不是一直等待接听。

使用同步请求时，你的连接保持打开直到结果到达（通常几秒钟）。使用异步时，结果在后台处理并存储 48 小时。你可以在需要时通过 API 轮询或 webhook 通知检索它们（通常 5 分钟，高峰期最长 8 小时）。

## 为什么异步请求很重要

如果你每天抓取数千个 URL，同步请求会产生瓶颈。问题在这里：使用同步请求跟踪 10,000 个产品价格意味着保持 10,000 个开放连接，每个持续 30 秒。这是 300,000 秒的并发连接时间，你的服务器将力不从心或崩溃。

异步将数据收集与处理分离。在一分钟内提交 10,000 个请求，然后在结果准备好时批量处理。你的基础设施保持轻量级，避免连接超时、线程阻塞和级联故障。

## 何时使用异步与同步

### 在以下情况使用异步：

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

### 在以下情况使用同步：

* **处理实时用户请求**（实时显示搜索结果）
* **处理小量数据**（每小时 \< 100 个请求，其中简洁性很重要）
* **原型设计**并需要快速迭代
* **需要不到 10 秒的响应时间**

<Warning>
  不要为用户面向功能使用异步，其中用户在主动等待结果。多分钟的延迟会损害用户体验。
</Warning>

**真实示例：** 电子商务平台使用异步在夜间抓取 50,000 个竞争对手价格以生成早晨报告，但在购物者点击的"立即检查此产品"按钮上使用同步。

## 工作原理

<img src="https://mintcdn.com/brightdata/8FBihMtdCDBVIPQS/images/scraping-automation/concepts/understanding-async-requests/async-flow-diagram.png?fit=max&auto=format&n=8FBihMtdCDBVIPQS&q=85&s=4576d59a7a90fd5097d9f0154315bf86" alt="异步请求工作原理" width="5075" height="5265" data-path="images/scraping-automation/concepts/understanding-async-requests/async-flow-diagram.png" />

**关键差异：** 你被计费用于第 1 步（请求提交），但不是第 2 步（结果检索）。结果存储 48 小时。

当你在处理完成前轮询时，你会获得 `202` 状态。设置 webhook 而不是轮询以避免浪费 API 调用：

```bash theme={null}
# 响应立即包含你的 ID
x-response-id: abc123-def456-ghi789
```

<Warning>
  **SERP API：避免过度轮询。** 与某些 API 不同，每个轮询请求都会单独计量并消耗资源。使用 webhook 获得即时通知，或最多每分钟轮询一次。
</Warning>

## 权衡

| 功能         | 异步              | 同步      |
| ---------- | --------------- | ------- |
| **成功率**    | 99.99%          | 标准      |
| **延迟**     | 5 分钟 - 8 小时     | 秒       |
| **连接处理**   | 无开放连接           | 保持连接    |
| **实现复杂性**  | 需要 webhook/轮询逻辑 | 简单请求/响应 |
| **结果检索成本** | 免费              | 不适用     |

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

## 常见问题

<AccordionGroup>
  <Accordion title="异步是否更贵？">
    不。每个请求的定价相同，但更高的成功率意味着更少的重试。
  </Accordion>

  <Accordion title="结果存储多长时间？">
    结果从提交之日起存储 48 小时，然后自动删除。确保你的检索系统在此时间窗口内运行。
  </Accordion>

  <Accordion title="当结果准备好时我如何获得通知？">
    在你的区���设置中或使用 `webhook_url` 在每个请求中配置 webhook URL。Bright Data 在处理完成时 POST 通知。

    **需要：将 webhook IP 列入白名单**

    确保将这些稳定 IP 列入白名单，否则你的防火墙可能会阻止通知：

    * `100.27.150.189`
    * `18.214.10.85`

    [Webhook 设置指南 →](/cn/products/serp-api/asynchronous-requests#allowlist-our-webhook-ips)
  </Accordion>

  <Accordion title="如果我丢失了响应 ID 怎么办？">
    无法恢复。始终将响应 ID 与请求元数据一起存储在你的数据库中。
  </Accordion>

  <Accordion title="我可以同时使用异步和同步吗？">
    可以，但要创建单独的区域，每个区域要么是异步，要么是同步，不能两者都是。大多数用户为批处理作业运行异步，为临时请求运行同步。
  </Accordion>
</AccordionGroup>
