公開動態與原創分析 · 消息日期: · 消息來源
一份報價草稿週五下午準備好,主管週一才有空確認。智慧代理如果在這期間一直佔著執行資源,企業為兩天等待保留了本來可以給其他任務使用的容量。如果任務被停止,週一又可能要重建檔案、重讀前後文。Google 在 11 月 5 日公布向 CNCF 捐贈 Agent Substrate 和 gVisor,討論的正是這類執行問題。gVisor 專案在 10 月已經公開捐贈進度。CNCF 的 Sandbox 是早期專案階段,與軟體執行階段的隔離沙盒是兩個概念。

Agent Substrate 把智慧代理的工作階段狀態與提供運算資源的工作程序分開。專案文件中的 Actor 可以保有自己的記憶體和磁碟狀態,執行結束並進入空閒後儲存快照,釋放共用工作節點池的執行位置。後續請求到來時,執行環境可以在可用位置還原該工作階段。gVisor 或受支援的微型虛擬機器提供隔離。對於大量短時工作、長時間等待的任務,這種設計給平台團隊提供了測算資源的新單位:同一時刻真正需要執行的任務數,以及維持恢復所需的儲存和備用容量。
草稿版本與核准紀錄
仍以報價為假設情境。智慧代理製作草稿時可能已經整理客戶要求、選過價格表,並生成了一份尚未核准的檔案。能恢復的工作環境可以保留這些中間成果。主管核准的對象則應是可檢視的具體草稿版本,核准時間和人也應進入業務紀錄。這樣主管確認後,即便執行環境已經被替換,接手的人員或程式也能找到核准的版本。
週末期間,客戶可能發來修改數量的郵件,或者價格表已切換到新版本。還原記憶體可以讓任務繼續看到週五看到的內容,卻不會讓週五的資料自動更新。業務需要判斷新的數量是否影響單價、交期或審核範圍。如果變動要求重報,原有核准應保留在舊版本名下,新草稿交回對應負責人確認。若價格有效期覆蓋週一,客戶和內容均未變動,已確認的材料便可以繼續使用。
這個例子說明,長期等待的任務至少需要把兩類資訊交給不同的地方儲存。編輯中的文件和臨時工具狀態可由執行環境管理,核准過的版本和客戶溝通結果應能從業務系統查到。恢復後如遇外部系統的請求超時,先查詢傳送或儲存是否已經成功,再決定是否重試。否則一次執行環境重啟,可能變成客戶收到兩份報價。沙盒可以隔離程式,應用仍需用相應的業務紀錄核對這些結果。
墨客雲的系統串接說明把報價所需的客戶、庫存和價格依據分別關聯到現有業務系統,並要求核對實際版本、授權與結果確認方式。在類似方案中,可先讓數位員工整理待確認的報價資料,保留選用的資料來源,再按企業已存在的審核和記錄方式交接。是否採用 Agent Substrate 作為執行環境,要看現場容器平台、儲存及任務恢復測試,產品說明只支援上述工作分工。
何時值得保留執行環境
如果任務暫停時只需要儲存一份草稿和幾個欄位,使用業務資料庫記錄待辦,收到核准後再啟動下一步,通常足夠。快照更適合重建成本高的工作階段,例如已經載入大量依賴、積累了較多中間工作,或者有許多類似工作階段需要在短時間內交替恢復。平台需要同時考慮快照體積、版本相容、保留時間和恢復失敗後怎樣繼續,不宜只拿一次喚醒耗時做決定。
等待分布也會改變結果。若大部分任務很快獲得確認,儲存和讀取快照本身可能比短時保留一個程序更費事。若任務總在同一時間集中恢復,例如週一早上批次審核,共用工作節點池仍要為峰值準備容量。先用真實審核時間分布估算需要同時恢復的工作階段,再看儲存與空閒資源的差額,比直接按全天平均負載採購更接近使用情況。
試用時可以找一批具有同樣審核等待特徵的歷史任務,對照現有的分段執行和快照恢復。記錄從收到核准到出現可操作草稿的時間、需要重做的步驟,以及每個完成任務佔用的執行和儲存資源。再安排一筆資料已更新的樣本,檢查任務會不會帶著舊價格直接進入下一步。兩個結果應當分別看:恢復快慢由平台驗證,繼續執行的依據由業務核對。企業只有在兩者都能解釋清楚後,才有足夠材料決定哪些任務值得保留完整執行環境。
消息來源
- Google Open Source Blog: Agent Substrate and gVisor donation
原文發布: · 查閱日期:
- Agent Substrate project documentation
查閱日期:
- gVisor donation timeline
原文發布: · 查閱日期:
墨客雲編輯部 · neo@mokyun.com
