在此頁面上:瞭解如何使用自訂動作和外部資料來源來限制歷程處理,以便外部系統不會超出其支援的每秒要求數目。
當外部系統必須處理限定數量的每秒請求時,使用此使用案例可限制歷程處理。
使用案例的說明
Adobe Journey Optimizer可讓從業人員透過使用自訂動作和資料來源,將API呼叫傳送至外部系統。
您可以透過完成以下操作:
-
資料來源:從外部系統收集資訊,並將其用於歷程內容,例如,取得有關設定檔城市的天氣資訊,並據此建立專屬的歷程流程。
-
自訂動作:傳送資訊給外部系統,例如,使用Journey Optimizer的協調功能以及設定檔資訊、對象資料和歷程內容,透過外部解決方案傳送電子郵件。
如果您使用外部資料來源或自訂動作,您可能會想要透過限制歷程輸送量來保護外部系統:單一歷程每秒最多5,000個例項,對象觸發的歷程每秒最多20,000個例項。 在本節中進一步瞭解歷程處理速率和輸送量。
對於自訂動作,可在產品層級使用節流功能。 請參見此頁面。
對於外部資料來源,您可以在端點層級定義上限限制,以避免透過Journey Optimizer的上限API壓倒這些外部系統。 不過,達到限制之後會捨棄所有剩餘的請求。 在本節中,您將找到可用來最佳化輸送量的因應措施。
如需有關如何與外部系統整合的詳細資訊,請參閱此頁面。
實作
針對受眾觸發的歷程,您可以定義讀取受眾活動的讀取率,此讀取率將影響歷程輸送量。 閱讀全文
您可以將此值從每秒500個執行個體修改為每秒20,000個執行個體。 如果您需要低於500/s,您還可以新增包含等待活動的「百分比分割」條件,以將您的歷程分割成多個分支,並在特定時間執行這些分支。
讓我們以 受眾觸發的歷程 為例,此歷程使用10,000個設定檔的母體,並將資料傳送到支援 100個要求/秒 的外部系統。
-
您可以以500個設定檔/秒的輸送量定義讀取對象以讀取設定檔,這表示讀取所有設定檔將需要20秒。 在第1頁,您會閱讀其中500本、第2頁500本等等。
-
然後,您可以新增「百分比分割」條件活動(採用20%分割),以便每個分支中每秒有100個設定檔。
-
之後,使用每個分支中的特定計時器新增「等待」活動。 我們在這裡設定30秒等候每一個。 每秒鐘有100個設定檔流入每個分支。
-
在分支1上,它們將等待30秒,這表示:
- 在第二個1,100個設定檔將等待第二個31
- 在第二個2,100個設定檔將等待第二個32等。
-
在分支2上,則會等待60秒,這表示:
- 在第二個1,100個設定檔將等待第二個61 (1英尺1英吋)
- 在第二個2,100個設定檔將等待第二個62 (1英尺2英吋)等。
-
知道我們預計最多需要20秒來讀取所有設定檔,每個分支之間將不會重疊,第二個20是設定檔將流入條件的最後一個。 在第二個31和第二個51之間,將處理分支1中的所有設定檔。 在第二個61 (1’01英吋)和第二個81 (1’21英吋)之間,將處理分支2中的所有設定檔等。
-
作為護欄,您還可以新增第六個分支,使每個分支少於100個設定檔,特別是如果您的外部系統僅支援100個請求/秒。
-
作為額外的護欄,您也可以使用「上限」功能。
本節包含結構化知識,用於支援與本主題相關的解譯、擷取和問答。
如需完整瞭解,此資訊應結合本頁的檔案。 兩者皆非獨立來源;頁面說明功能,本節提供額外內容,以協助去除術語、意圖、適用性和限制條件的歧義。
- TL;DR:此頁面說明當外部資料來源或自訂動作具有每秒請求數上限時,如何使用「讀取對象」速率設定、百分比分割和等待活動,來限制歷程輸送量。
意圖:
- 限制受眾觸發之歷程的輸送量,以保護外部系統不被淹沒
- 設定讀取對象活動的讀取率,以控制每秒輸入的設定檔數
- 結合百分比分割條件和等待活動,以隨著時間散佈設定檔處理
- 瞭解歷程層級輸送量因應措施和沙箱層級上限功能之間的差異
- 將上限功能套用至產品層級的自訂動作
字彙表:
- 節流/輸送量限制:控制設定檔流經歷程的速率,以避免超過外部系統的要求容量。 (產品特定)
- 讀取對象讀取率:讀取對象活動上的可設定引數,其設定每秒進入歷程的設定檔數目上限(範圍: 500-20,000個執行個體/秒)。 (產品特定)
- 上限API:為外部資料來源定義每個端點的最大要求限制的Journey Optimizer API;超過上限的要求會被捨棄。 (產品特定)
- 百分比分割條件:將設定檔流程依百分比分割成分支的條件活動,用於在此將設定檔分散到時間交錯的等待路徑上。 (產品特定)
護欄:
- 讀取對象讀取率可以設定為每秒500到20,000個執行個體;低於500/s的值需要使用百分比分割和等待活動的因應措施
- 單一歷程支援最高每秒5,000個例項;受眾觸發的歷程支援最高每秒20,000個例項
- 百分比分割+等待因應措施僅適用於歷程層級,不適用於沙箱中的所有歷程
- 當多個歷程並行鎖定相同的外部端點時,此因應措施不會考慮合併負載 — 應改用上限功能
- 超過外部資料來源上限的其餘請求都會遭到捨棄,而不會加入佇列
- 在前往生產環境之前,必須對因應措施進行徹底測試
術語:
- 正式名稱:輸送量限制 — 縮寫:none — 變體:節流、速率限制、歷程輸送量控制
- 同義字: “Capping” = “throttling” (在外部端點保護內容中)
- 請勿混淆:「上限API (端點層級)」≠「讀取率(歷程層級)」 — 上限API會全域套用至以端點為目標的沙箱中的所有歷程;讀取率和分割/等待因應措施僅適用於個別歷程
常見問題集:
- 問:我可以在「讀取對象」活動上設定的最大讀取率是多少? — 每秒500到20,000個設定檔;若要低於500/秒,請對等待活動使用百分比分割。
- 問:百分比分割和等待活動如何有助於限制輸送量? — 將設定檔分割為分支(例如每個分支20%),並為每個分支新增交錯的等待計時器,可確保每秒只有受控數量的設定檔會連線至外部系統。
- 問:百分比分割的因應措施是否可保護目標為相同端點的所有歷程? — 否;它只適用於個別歷程層級。 如果多個歷程針對相同端點平行執行,請改用沙箱層級上限功能。
- 問:超過外部資料來源的上限限制的要求會發生什麼事? — 這些請求會被捨棄;上限API不會將過多的請求排入佇列。
- 問:我是否應該針對外部資料使用案例使用自訂動作或資料來源? — 偏好使用自訂動作,因為它們支援回應處理;只有在使用案例明確需要自訂動作時,才應該使用資料來源。