---
schema_version: "1"
id: a632d5f274091ddfb5502f5cec8e5c2fd1b0084d6003232fabd5f5519aa1530a
title: Lightning 平台決策指南上的非同步處理
collection: architect
version: next
locale: zh-tw
portal_url: https://docs.salesforce.com/architect/next/zh-tw/decision-guides/guides/async-processing.md
canonical_url: https://staging.architect.salesforce.com/docs/architect/zh-tw/decision-guides/guide/async-processing.html
source_site: staging.architect.salesforce.com
content_type: documentation
content_hash: c3810bdb91ea11cfbce829cd65b0059a2f6b0d4a8daeecd6f2157d608c355ba6
products:
  - 決策指南
  - Architect Site Content Repo
updated_at: 2026-03-01T00:00:00Z
---
## 指南概觀

本指南將協助您評估 Salesforce 平台上非同步處理需求的正確方法。它會解釋每個方法,並詳細說明每個方法的優勢與限制。大多數方法與產品功能一致,但某些方法在協調中使用多個功能。此指南包含使用個案來醒目提示每個方法的使用時機。

非同步處理為您的結構提供兩個主要優點。首先,由於非同步程序有較高的管理員限制,因此會增加擴充性。其次,非同步要求會在自己的執行緒中執行,因此使用者可以在非同步工作在背景中執行時執行其他工作。

請注意,本指南專注於在 Salesforce Platform 內選擇非同步處理技術。其他可協助您決策流程的資源會列在「[資源」區段中](#資源)。

## 此指南範疇中的產品

<table>
  <tbody>
    <tr>
      <td style="text-align:center;vertical-align:middle;border:none;padding:0.25rem 0"><!-- Image: Salesforce Platform logo --><img style="border:none;margin:2rem 0rem;width:52px;height:52px;object-fit:contain" src="https://a.sfdcstatic.com/developer-website/prod/images/architect/salesforce.svg" alt="Salesforce Platform"></td>
      <td><a href="https://www.salesforce.com/platform/agentforce-platform">Salesforce Lightning Platform</a> 是一個全方位、 AI 驅動的平台,可將員工、獨立 AI 工作人員、公司資料和應用程式整合到一個可靠的系統中,以提升生產力與客戶體驗。透過連接 Customer 360 應用程式、Data Cloud 和 Slack 來進行端對端自動化,以便建立「真正的企業」。</td>
    </tr>
  </tbody>
</table>

此文件不涵蓋其他生態系統中的技術,例如 MuleSoft、Informatica、Commerce Cloud、Tableau 和 Marketing Cloud。

## 接待時間

- **使用非同步處理之前,請確定您的使用個案符合模式。**非同步模式沒有 SLA、受限於多個管理員機制、可根據授權定義產能限制,且可能會因為配置給 Salesforce Platform 中非同步基礎結構的資源有限性而導致處理延遲。在使用者需要系統回應的情況下使用非同步處理時,請考量這些限制,才能繼續進行其工作。
- **使用 Salesforce 進行非同步處理並非滿足無限調整需求的解決方案。**Salesforce Platform 不會無限規模,非同步模式受到限制。非同步處理使用執行緒,其中包含 CPU 執行指示串流所需的內容資訊。討論串可以並列執行。任何 CPU 中可用的執行緒數目受到限制,因此平台已具備機制,以盡可能有效率地使用其可用的執行緒。平台的 [流程控制機制](/docs/architect/zh-tw/fundamentals/guide/async-fundamentals#流程控制)可防止組織耗用太多執行緒,並對其他組織造成負面影響。平台的 [公平使用演算法](/docs/architect/zh-tw/fundamentals/guide/async-fundamentals#公平使用)也控制組織針對每個特定訊息類型可用的執行緒數目。
- **會考量造成極度負載的事件。**當您設計非同步流程時,請確定流程可以預測地管理工作量高峰和閒置。請考慮您的實作如何處理非預期的事件,例如停電,以及設計可減輕資料遺失或功能遺失的安全防護。

## 產品比較

此表格概述使用 Salesforce 進行非同步處理的可用工具。請參閱此表格,在決策流程期間檢閱每個工具的主要特性。請參閱「[使用個案](#使用個案)」和「[決策點](#決策點)」,以協助為您的結構選擇正確的工具。

<table style="border-color:white;overflow-x:scroll;">
  <thead>
    <tr>
      <th>方法</th>
      <th>描述</th>
      <th>所需技能</th>
      <th>授權與限制</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><b>可排序的 Apex</b></td>
      <td>用於涉及長時間執行資料庫作業或外部 Web 服務呼叫的流程。Apex 提供工作識別碼、支援非原始類型和工作鏈等功能。</td>
      <td>專業程式碼</td>
      <td><a href="https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_apexgov.htm">授權數量會增加限制。</a></td>
    </tr>
    <tr>
      <td><b>批次 Apex</b></td>
      <td>透過分割記錄集並將其處理成可管理區塊,建立複雜且長時間執行流程,其中涉及數百萬筆記錄。</td>
      <td>專業程式碼</td>
      <td><a href="https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_apexgov.htm">授權數量會增加限制。</a></td>
    </tr>
    <tr>
      <td><b>已排程 Apex</b></td>
      <td>在由 Cron 運算式定義的排程時間執行 Apex。雖然透過 Cron 運算式排程 Apex 的動作是非同步的程序,但基本程式碼會在工作開始時同步執行。</td>
      <td>專業程式碼</td>
      <td><a href="https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_apexgov.htm">授權數量會增加限制。</a></td>
    </tr>
    <tr>
      <td><b>Apex 繼續呼叫</b></td>
      <td>從在同步交易內容中執行的 Apex 方法執行呼叫。</td>
      <td>專業程式碼</td>
      <td>否</td>
    </tr>
    <tr>
      <td><b>非同步路徑 (記錄觸發流程)</b></td>
      <td>執行您要在自己的時間執行的作業。請避免在您更新非觸發流程記錄相關記錄值時發生的混合 DML 錯誤。</td>
      <td>低程式碼</td>
      <td><a href="https://help.salesforce.com/s/articleView?id=platform.flow_considerations_limit.htm&type=5">授權的數量與類型可增加限制。</a></td>
    </tr>
    <tr>
      <td><b>排程路徑 (認可流程後)</b></td>
      <td>在觸發事件後動態排程的時間執行,例如建立、更新或刪除記錄時。</td>
      <td>低程式碼</td>
      <td><a href="https://help.salesforce.com/s/articleView?id=platform.flow_considerations_limit.htm&type=5">授權的數量與類型可增加限制。</a></td>
    </tr>
    <tr>
      <td><b>已排程流程</b></td>
      <td>在特定時間和重複的頻率 (每日、每週或一次) 在背景中執行流程,以對記錄批次執行動作。</td>
      <td>低程式碼</td>
      <td><a href="https://help.salesforce.com/s/articleView?id=platform.flow_considerations_limit.htm&type=5">授權的數量與類型可增加限制。</a></td>
    </tr>
    <tr>
      <td><b>平台事件觸發</b></td>
      <td>寬鬆將 Salesforce 與外部系統配對,並在 Salesforce Platform 內非同步元件之間通訊。</td>
      <td>低程式碼 + 專業程式碼</td>
      <td><a href="https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_event_limits.htm">大量平台事件使用個案需要附加元件授權</a></td>
    </tr>
    <tr>
      <td><b>變更資料取</b>取</td>
      <td>認可資料庫交易後,以非同步方式來捕捉和處理變更事件。</td>
      <td>專業程式碼</td>
      <td><a href="https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_allocations.htm">需要附加元件授權,才能將比例大於基準配置。</a></td>
    </tr>
    <tr>
      <td><b>大量 API</b></td>
      <td>以非同步方式插入、更新、更新插入、查詢或刪除許多記錄,之後再處理結果。</td>
      <td>專業程式碼</td>
      <td><a href="https://developer.salesforce.com/docs/atlas.en-us.260.0.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_bulkapi.htm">有一些限制。</a></td>
    </tr>
    <tr>
      <td><b>Lightning 動作</b></td>
      <td>允許 Lightning 頁面與伺服器互動,而無須強制使用者完全重新整理頁面。</td>
      <td>低程式碼</td>
      <td>否</td>
    </tr>
  </tbody>
</table>

## 決策點

此表格包含當您決定要使用哪個非同步工具時要考量的要點概觀。

<table>
  <tbody>
    <tr>
      <td><b>所需技能</b></td>
      <td>此指南中概述的部分工具需要程式碼,而其他工具則可以宣告的方式進行設定。當您考量您的選項時,請思考小組成員擁有的技能集。請記住,即使開發人員可用於您的初始實作 (例如透過實作合作夥伴),您可能需要在未來修改您的解決方案。如果您的維護小組缺少開發人員,低程式碼選項可能更適合。</td>
    </tr>
    <tr>
      <td><b>強制執行的平台限制類型</b></td>
      <td>決定套用至執行的 <a href="https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm">限制</a>類型。當您設計解決方案時,請仔細思考交易量和頻率會如何計入每日所選方法的管理員限制。計算每天會發生的執行次數。請確保計算的值在與您所選工具相關聯的限制之內。</td>
    </tr>
    <tr>
      <td><b>延遲</b></td>
      <td>決定處理結果在平台中可用的速度。針對某些方法,變更將近乎立即,而對於其他方法,變更可能為分鐘或小時。</td>
    </tr>
  </tbody>
</table>

## 使用個案

當您選取用於非同步處理的工具時,請先評估您組織的需求和可用資源。您的目標是選取最小化實作與維護成本的工具,同時確保延展性並將限制違規的可能性降到最低。此目標取決於先前概述的技術考量事項,以及您小組的組成。

請考量 Salesforce 中的非同步訂購流程。儲存訂單時,會觸發外部倉庫管理系統的訊息,其中包含如何包裝和寄送項目的特殊指示。下單的使用者不需要倉庫管理系統的立即回應,因此要求可以非同步傳送。非同步處理可讓使用者繼續工作,而無須等待回應。

針對此使用個案,您可能會考慮使用 Apex 進行實作。只有在您的小組中有可維護 Pro-code 解決方案的 Apex 開發人員時,此方法才會運作。否則,陳述性方法更有意義。此外,請記住,不同工具適用的不同集合的 [限制](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm)。

此表格會在最左側欄中列出常見使用個案,後面加上描述。*第一個選項*欄提供用來滿足此類使用個案的最典型方法,以及第一個選項方法的理由。請使用此作為分析的起點,因為「第一個選項」方法可能有不適用於您使用個案的限制。

<table>
  <thead>
    <tr>
      <th>使用個案</th>
      <th>描述</th>
      <th>第一個選項方法</th>
      <th>理由</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><b>高效能批次處理</b></td>
      <td>必須有效率地處理數千筆或數百萬筆記錄的自動化</td>
      <td>批次 <b>Apex</b></td>
      <td>批次 Apex 提供豐富的 API,可用於與平台的介面以及原始速度。</td>
    </tr>
    <tr>
      <td><b>資料清除工作</b></td>
      <td>定期執行或隨選執行,可清除資料的工作。範例包括消除重複、地址驗證或資料合併。</td>
      <td>批次 <b>Apex</b></td>
      <td>批次 Apex 提供豐富的 API,可用於與平台的介面以及原始速度。</td>
    </tr>
    <tr>
      <td><b>夜間累計工作</b></td>
      <td>在工作日結束時計算累計資料的工作。</td>
      <td>批次 <b>Apex</b></td>
      <td>批次 Apex 提供豐富的 API,可用於與平台的介面以及原始速度。</td>
    </tr>
    <tr>
      <td><b>記錄觸發邏輯</b></td>
      <td>執行邏輯以回應記錄更新。</td>
      <td><i>變化</i></td>
      <td>請參閱我們的伴侶決策指南,<a href="/docs/architect/zh-tw/decision-guides/guide/record-triggered">記錄觸發事件自動化</a>。其中包含非同步使用個案的決策樹狀結構,包括可排列的 Apex、批次 Apex、已排程的流程、非同步路徑流程和變更資料擷取。</td>
    </tr>
    <tr>
      <td><b>透過物件圖表串聯更新</b></td>
      <td>允許使用者的儲存動作快速完成,將串聯更新延後至其他物件以非同步執行。</td>
      <td>可排序的 <b>Apex</b></td>
      <td>Apex 具有強大的鏈結功能,可讓邏輯將更新鏈結分為一系列非同步交易。</td>
    </tr>
    <tr>
      <td><b>記錄特定排程處理</b></td>
      <td>在未來,記錄特定的動態日期 (例如結束日期前 3 天) 自動化。</td>
      <td>含已排程路徑的 <b>流程</b></td>
      <td>已排程路徑為流程提供獨特的優勢,因為當記錄的資料變更時,平台會自動處理這些路徑的排程、取消和重新排程。</td>
    </tr>
    <tr>
      <td><b>並列叫用多個慢速外部服務</b></td>
      <td>在同步執行期間,會並列叫用多個外部服務,以最佳化整體執行時間。</td>
      <td><b>Apex</b> 繼續呼叫</td>
      <td>允許多個慢速執行的呼叫並行執行,可將完成工作整體時間最小化。</td>
    </tr>
    <tr>
      <td><b>從外部系統移轉記錄的資料</b></td>
      <td>從外部系統將大量記錄移至 Salesforce Platform。一次性或定期排程的流程。</td>
      <td><b>大量</b> <b>API</b></td>
      <td>這是資料移轉最有效率且易於限制的方法。</td>
    </tr>
    <tr>
      <td><b>在外部系統上執行其他邏輯</b></td>
      <td>通知平台上事件的外部系統,然後允許該系統非同步處理事件的觸發式模式。</td>
      <td><b>平台事件</b>或 <b>變更資料</b></td>
      <td>發布子模型最適用於此處,並允許外部系統在準備好時處理事件。如需此模式的詳細資料,請參閱「<a href="/docs/architect/zh-tw/decision-guides/guide/event-driven">事件驅動結構</a>」。</td>
    </tr>
  </tbody>
</table>

「使用個案」表格是每個使用個案最合適方法的指引。不過,您需要驗證 First Choice 技術是否符合您使用個案的特定需求。尤其是,判斷所選方法是否可以遵循您組織的管理員限制。

在您為使用個案找出候選方法後,[非同步處理基本概念指南](/docs/architect/zh-tw/fundamentals/guide/async-fundamentals)可協助您完整檢查解決方案。

## 資源

這些其他資源可協助您的決策流程:

- 深入瞭解每個平台非同步技術:[非同步處理基礎知識](/docs/architect/zh-tw/fundamentals/guide/async-fundamentals)
- 選擇記錄觸發的 Apex 和流程:[記錄觸發事件自動化](/docs/architect/zh-tw/decision-guides/guide/record-triggered)
- 非同步整合模式的相關資訊:[事件驅動的結構](/docs/architect/zh-tw/decision-guides/guide/event-driven)
