啟動器中的延遲
網狀架構啟動器會針對實時數據執行規則。 結果幾乎是瞬間的,但有一個因素可能會造成延遲。 在大部分情況下,該延遲是無法察覺的,但在其他情況下,延遲最多可以 10 分鐘。 在建立和接收規則時,接收準確且及時的資訊是重要的考慮。 本文會檢閱程式與設定,以判斷事件包含與規則結構之間的平衡,以及傳送啟動程式的速度。 例如,啟動器是否應該允許更多數據送達並包含,或者啟用者是否應該確保收件者在設定時間收到其警示? 而且,規則的結構方式如何影響將啟用傳送給收件者的速度?
有三個重要因素會影響規則啟用延遲:
- 延遲抵達容錯的用戶設定。
- 啟動程式的後端處理可能會引入延遲,最多一分鐘。
- 規則的匯總。
延遲抵達容錯
延遲抵達容錯是在 [啟動器規則 定義 ] 畫面中設定,並套用至事件 抵達時間。 若要瞭解如何設定延遲抵達容錯,請參閱 延遲抵達容錯設定。
後端處理延遲
規則可能需要在規則啟動之前進行處理。 例如,如果規則是與前一組事件的比較,則後端處理會擷取先前的數據、進行比較,以及計算結果。 另一個範例是,如果規則針對 1000 萬個數據列執行,該數據的後端處理就會引入延遲。
匯總延遲
如果規則定義中使用匯總,則規則只會在完成指定的時間範圍時啟動。 例如,假設已建置規則來平均四個多小時的數據。 如果符合規則條件的事件擷取於下午 12 點,規則會在下午 4 點觸發。 延遲是匯總設定的結果。 即使規則包含簡單的匯總,例如 平均值,啟動器也無法傳送啟用,直到啟動器跨傳入事件數據執行匯總為止。
背景時間概念
為了更妥善地定義討論,讓我們定義一些背景概念。
- 事件時間:原始事件的發生時間。 這是事件承載的一部分。 例如,當高速公路上的移動汽車接近收費站時,感測器就會注意到。
- 處理時間:事件到達處理系統且被發現的時間。 例如,當收費站感應器發現車輛,且電腦系統花一些時間處理資料時。
- 抵達時間 (浮浮水印或擷取時間):指出事件數據到達啟動器的時間標記。 根據數據流的性質,傳入事件數據永遠不會停止,因此抵達時間會指出啟動器在數據流中某個點所做的進度。 此時,啟動器可以產生不需要撤銷的完整、正確且可重複的結果。 而且,此時啟動器可以開始處理數據。 此處理可透過可預測且可重複的方式完成。 例如,如果需要針對某些錯誤處理條件進行重新計票,抵達時間是安全的開始和結束點。
當規則具有時間參數,而 Event 時間 在該時間參數內,但 抵達時間 超出該參數時,就會發生延遲抵達。 如果我們再次使用收費亭範例,則收費站感測器會辨識汽車,而 事件時間 是在時間參數內。 啟動器會看到規則具有匯總,並針對數據執行該匯總。 執行該匯總所需的時間會將抵達時間置於 time 參數之外。 該事件現在被視為 遲到。 如果您想要包含延遲抵達,請設定延遲抵達容錯的值。
如需此主題的相關資源,請參閱 Tyler Akidau 的部落格文章串流 101 \(英文\) 和串流 102 \(英文\)。
延遲抵達容錯設定
延遲抵達容錯是用戶設定。 延遲抵達容錯是指啟動器等候事件到達並得到認可及處理的時間長度。 預設為兩分鐘。 延遲抵達容錯會導致延遲。 使用延遲抵達容錯所建立的規則會有延遲,至少是延遲抵達容錯設定為的時間量。 建立規則時,決定要使用預設容錯或變更它。 容錯可確保延遲事件和依序抵達的事件有機會包含在規則評估中。 如果事件超出延遲抵達容錯,則啟動器不會將其納入考慮。 在容錯之後具有 抵達時間 的任何事件都不會納入考慮。
整體而言,考慮是否更重要:
- 等候晚期數據點,或
- 對可能不完整的資料執行規則,讓規則更快啟動。
在此範例中,數據點會以15分鐘的增量來測量。 前三個點是藍色,在時間範圍中。 第四個點,這是橙色,不是。 事件時間在 15 分鐘間隔內,但啟動器不會在 15 分鐘間隔內擷取事件。 啟動器只會評估在15分鐘範圍內具有抵達時間的數據規則。 除非使用者指出他們想要允許延遲抵達容錯,並等候查看其他數據點是否到達。
啟動器無法考慮用戶數據的延遲。 例如,使用者可以讓IoT感測器離線1小時。 一旦他們回到在線,啟動器就可以接收數據,但數據會從該離線狀態延遲 1 小時,而啟動器以外發生。
以下是另一個範例。
使用者會建立規則,以分鐘間隔計算平均溫度。 延遲抵達容錯設定為 [預設值]。 預設值 為兩分鐘。 包含溫度值 20 和 30,平均溫度為 25。 不過,直到下一個規則啟用發生之前,才會包含40度溫度的遲到事件。
事件時間 | 抵達時間 | 溫度 |
---|---|---|
09:00 | 09:02 | 20 |
09:01 | 03:09 | 30 |
09:02 | 09:07 | 40 |
重要
您目前無法覆寫默認延遲抵達容錯。 此設定也適用於Power BI規則。
以 Power BI 視覺效果為基礎的規則
內建延遲因服務而異。 Eventstream 的延遲與 Power BI 視覺效果的延遲不同。 Power BI 視覺效果上所建置規則的延遲有兩個部分:查詢系統中內建的 Power BI 視覺效果的頻率,以及啟動器後端可能會引入的延遲。
每當新的數據抵達啟動器時,都會評估Power BI規則。 啟動程式每小時從 Power BI 擷取新數據。 這表示符合規則條件的事件會在事件發生后最多一小時觸發啟用。 如需詳細資訊,請參閱 從 Power BI 取得啟動器的數據。