本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
絞殺無花果圖案
馬丁·福勒(Martin Fowler)引入了絞殺程序圖案,作為現代化或重寫大型整體系統時管理風險的一種方式。該模式是一種類似植物的類比,該植物開始了生命,因為藤蔓與一棵老樹一起生長。隨著葡萄樹的生長,它擴散到完全消耗並最終取代宿主樹,在它的位置留下了一棵新的絞殺無花果樹。在 ASP.NET Web 服務現代化的內容中,此模式會透過建立其他系統對 Web 服務具有相依性的 Proxy,逐漸取代系統功能。最初,您可以將這些 Proxy 視為具有傳遞行為,因為它們的實作是由現有的整合式應用程式服務來完成。在自然的模擬中,這是當絞殺無花果最初向宿主樹的樹幹發送一棵藤蔓的時候。然後,創建一個與整體分離的新服務,並將代理的實現推遲到該新服務。在自然的模擬中,這是當絞殺者無花果藤纏繞在樹的一個樹枝上並超過它的時候。這種代理模式,然後將代理實現與新服務進行交換,直到所有舊系統的功能都遷移到新服務為止。此時,絞殺者無花果藤完全消耗了樹,並且遺留系統可以退役。
使用 strangler fig 模式時,請遵循以下最佳實踐,以便您可以更順暢地獨立擴展和部署應用程序:
-
選擇具有良好測試覆蓋率和相關技術債務較少的組件。從這個組件開始,可以給團隊在現代化過程中很大的信心。
-
選取具有延展性需求的元件,並從這些元件之一開始。
-
選取經常變更業務需求和頻繁部署的元件。
-
若要大規模實作此模式AWS,請在 Amazon 彈性容器服務 (Amazon ECS) 中執行的 Windows 容器中部署重構的 ASMX 服務,並使用 Amazon API 閘道發佈現代化的 REST API。