Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a minta növekményesen migrál egy régi rendszert úgy, hogy fokozatosan lecserél bizonyos funkciókat új alkalmazásokra és szolgáltatásokra. Az örökölt rendszer funkcióinak lecserélése során az új rendszer végül a régi rendszer összes funkcióját magában foglalja. Ez a megközelítés letiltja a régi rendszert, hogy le tudja szerelni.
Környezet és probléma
A rendszerek korának megfelelően a fejlesztési eszközök, a üzemeltetési technológia és a rendszerarchitektúrák, amelyekre épülnek, elavulttá válhatnak. Az új funkciók és funkciók hozzáadásakor ezek az alkalmazások összetettebbé válnak, ami megnehezítheti a karbantartást és a bővítést.
Egy teljes komplex rendszer cseréje hatalmas vállalkozás. Ehelyett sok csapat inkább fokozatosan átáll egy új rendszerre, és megtartja a régi rendszert, hogy kezelhesse a nem migrált funkciókat. Az alkalmazás két különálló verziójának futtatása azonban arra kényszeríti az ügyfeleket, hogy nyomon kövessék, melyik verzió rendelkezik egyéni funkciókkal. Minden alkalommal, amikor a csapatok áttelepítenek egy szolgáltatást vagy szolgáltatást, az ügyfeleket az új helyre kell irányítaniuk. A kihívások leküzdése érdekében olyan megközelítést alkalmazhat, amely támogatja a növekményes migrálást, és minimalizálja az ügyfelek zavarait.
Megoldás
Használjon növekményes folyamatot bizonyos funkciók új alkalmazásokra és szolgáltatásokra való lecseréléséhez. Az ügyfelek továbbra is használhatják ugyanazt a felületet, és nem tudják, hogy ez a migrálás zajlik.
A Strangler fügeminta szabályozott és szakaszos megközelítést biztosít a modernizációhoz. Lehetővé teszi, hogy a meglévő alkalmazás továbbra is működjön a modernizálási munka során. Az előtérrendszer (proxy) elfogja az örökölt háttérrendszerre irányuló kéréseket. A homlokzat ezeket a kéréseket az örökölt alkalmazáshoz vagy az új szolgáltatásokhoz irányítja.
Ez a minta csökkenti a migrálás kockázatát azáltal, hogy lehetővé teszi a csapatok számára, hogy a projekt összetettségének megfelelő ütemben haladjanak előre. A funkciók új rendszerre való migrálása során az örökölt rendszer elavulttá válik, és ön leszereli az örökölt rendszert.
A Strangler fügeminta az ügyfélalkalmazás, az örökölt rendszer és az új rendszer közötti homlokzat (proxy) bevezetésével kezdődik. A homlokzat közvetítőként működik. Lehetővé teszi az ügyfélalkalmazás számára az örökölt és az új rendszerrel való interakciót. Kezdetben a homlokzat a legtöbb kérést az örökölt rendszerbe irányítja.
A migrálás előrehaladtával a homlokzat növekményesen áthelyezi a kéréseket az örökölt rendszerről az új rendszerre. Minden iterációval több funkciót valósíthat meg az új rendszerben.
Ez a növekményes megközelítés fokozatosan csökkenti az örökölt rendszer feladatait, és kibővíti az új rendszer hatókörét. A folyamat iteratív. Lehetővé teszi a csapat számára, hogy kezelhető szakaszokban kezelje az összetettségeket és a függőségeket. Ezek a szakaszok segítenek a rendszer stabil és működőképes állapotában maradni.
Miután migrálja az összes funkciót, és nincsenek függőségek az örökölt rendszeren, leszerelheti az örökölt rendszert. A homlokzat minden kérést kizárólag az új rendszerbe irányít.
Eltávolítja a homlokzatot, és újrakonfigurálja az ügyfélalkalmazást, hogy közvetlenül kommunikáljon az új rendszerrel. Ez a lépés a migrálás befejezését jelzi.
Problémák és szempontok
Vegye figyelembe a következő szempontokat, amikor úgy dönt, hogy hogyan valósítja meg ezt a mintát:
Fontolja meg, hogyan kezelheti azokat a szolgáltatásokat és adattárakat, amelyeket az új és az örökölt rendszer is használhat. Győződjön meg arról, hogy mindkét rendszer egyszerre fér hozzá ezekhez az erőforrásokhoz.
Az új alkalmazásokat és szolgáltatásokat úgy strukturálja, hogy könnyen elfoghassa és lecserélhesse őket a jövőbeli "strangler fig" migrációk során. Törekedjen például arra, hogy egyértelmű elhatárolások legyen a megoldás részei között, hogy egyenként migrálhassa az egyes részeket.
A migrálás befejezése után általában eltávolítja a strangler fügehomlokzatot. Alternatív megoldásként fenntarthatja a homlokzatot adapterként az örökölt ügyfelek számára, amelyeket az újabb ügyfelek alaprendszerének frissítése során használhat.
Győződjön meg arról, hogy a homlokzat lépést tart a migrálással.
Győződjön meg arról, hogy a homlokzat nem válik egyetlen meghibásodási ponttá vagy teljesítménybeli szűk keresztmetszetté.
Mikor érdemes használni ezt a mintát?
Használja ezt a mintát, ha:
Egy háttéralkalmazás fokozatos migrálása egy új architektúrára különösen kockázatot jelent, ha nagy rendszerek, kulcsfontosságú összetevők vagy összetett funkciók cseréjéről van szó.
Az eredeti rendszer hosszabb ideig létezhet a migrálás során.
Ez a minta nem feltétlenül megfelelő, ha:
A háttérrendszerhez érkező kérelmeket nem lehet elfogni.
Egy kis rendszert migrálhat, és a teljes rendszer cseréje egyszerű.
Gyorsan teljesen meg kell szüntetnie az eredeti megoldást.
Munkaterhelés tervezés
Értékelje ki, hogyan használhatja a Strangler fügemintát a számítási feladatok tervezésében az Azure Well-Architected-keretrendszer pilléreinek céljainak és alapelveinek kezelésére. Az alábbi táblázat útmutatást nyújt arról, hogy ez a minta hogyan támogatja az egyes pillérek céljait.
Pillér | Hogyan támogatja ez a minta a pillércélokat? |
---|---|
A megbízhatósági tervezési döntések segítenek a számítási feladatnak ellenállóvá válni a hibás működéssel szemben, és biztosítani, hogy a hiba bekövetkezése után teljesen működőképes állapotba kerüljön . | Ennek a mintának a növekményes megközelítése segíthet csökkenteni az összetevők áttűnése során jelentkező kockázatokat, szemben a nagy rendszerszintű módosítások egyszerre történő alkalmazásával. - RE:08 Tesztelés |
A költségoptimalizálás a számítási feladatok megtérülésének (ROI) fenntartásáraés javítására összpontosít. | Ennek a megközelítésnek az a célja, hogy maximalizálja a meglévő beruházások használatát a jelenleg futó rendszerben, miközben fokozatosan modernizálódik. Ez lehetővé teszi, hogy magas megtérülésű cserét végezzen az alacsony megtérülésű csere előtt. - CO:07 Összetevő költségei - CO:08 Környezeti költségek |
Az operatív kiválóságszabványosított folyamatok és a csapat kohéziója révén segít a számítási feladatok minőségének biztosításában. | Ez a minta folyamatos fejlesztési megközelítést biztosít. Az idő múlásával kisebb módosításokat okozó növekményes cserék előnyösebbek a nagyobb rendszerszintű módosításoknál, amelyek végrehajtása kockázatosabb. - OE:06 Ellátási lánc a számítási feladatok fejlesztéséhez - OE:11 Biztonságos üzembe helyezési eljárások |
Fontolja meg a más pillérek céljaival szembeni kompromisszumokat, amelyeket ez a minta bevezethet.
példa
Az örökölt rendszerek általában egy központosított adatbázistól függenek. Idővel a központosított adatbázisok kezelése és fejlesztése nehézkessé válhat a számos függőség miatt. Ezeknek a kihívásoknak a megoldása érdekében a különböző adatbázisminták megkönnyítik az ilyen örökölt rendszerekről való áttérést. A Strangler füge minta egyike ezeknek a mintáknak. Alkalmazza a Strangler fügemintát szakaszos megközelítésként, hogy fokozatosan váltson át egy régi rendszerről egy új rendszerre, és minimalizálja a fennakadásokat.
Új rendszert vezet be, és az új rendszer elkezdi kezelni az ügyfélalkalmazás egyes kéréseit. Az új rendszer azonban továbbra is az örökölt adatbázistól függ az összes olvasási és írási művelethez. Az örökölt rendszer továbbra is működőképes marad, ami zökkenőmentes átmenetet tesz lehetővé azonnali szerkezeti változások nélkül.
A következő fázisban egy új adatbázist vezet be. Az adatbetöltési előzményeket kinyerési, átalakítási és betöltési (ETL) folyamattal migrálhatja az új adatbázisba. Az ETL-folyamat szinkronizálja az új adatbázist az örökölt adatbázissal. Ebben a fázisban az új rendszer árnyékírásokat hajt végre. Az új rendszer párhuzamosan frissíti mindkét adatbázist. Az új rendszer továbbra is beolvassa a régi adatbázisból a konzisztencia ellenőrzésére.
Végül az új adatbázis lesz a rekordrendszer. Az új adatbázis minden olvasási és írási műveletet átvesz. Megkezdheti a régi adatbázis és a régi rendszer elavultnak nyilvánítását. Az új adatbázis ellenőrzése után kivonhatja az örökölt adatbázist. Ez a kivonás minimális megszakítással befejezi a migrálási folyamatot.
Következő lépés
Olvassa el Martin Fowler blogbejegyzését a Strangler Fig mintaalkalmazásról.