資產擷取

2004 年 6 月 29 日

資產擷取是開發StranglerFigApplication的策略。可以將許多應用程式視為管理一組關鍵資產。薪資系統負責員工,交易系統負責交易,租賃系統負責租賃。若要逐步切換至新系統,可以先找出資產的子集,並從新系統開始。通常最適合從簡單的資產開始(因為它們可以快速上手),或從舊系統難以處理需求的資產開始。

若要順利進行,你需要一種機制,用於將資產從舊應用程式移轉至 Strangler,反之亦然。反向移轉聽起來沒必要,但它對於降低風險和處理資產可能以動態方式變更(導致新應用程式無法再處理)的情況非常有效。因此,最初的薪資系統可能無法處理請病假的員工,雙向移轉允許你在員工生病時將其移轉。

若要管理資產,你需要使用事件攔截,以確保擷取所有需要的事件,用於擷取的資產。你不需要攔截所有事件,只需要擷取資產的事件即可。你可能還需要確保舊系統不會收到不再管理的資產事件,可以使用類似於基於內容的路由器的機制

我參與過的大多數重寫都使用某種形式的資產擷取。我唯一遺憾的是,我們沒有使用更細緻的擷取,以允許更頻繁的發布。通常,阻礙因素是沒有雙向移轉。一旦到位,頻繁發布就容易多了。