React Academy · Oppitunti

Versiointi, käyttöönotto ja orkestrointi

Ota etäsovellukset käyttöön itsenäisesti semanttisella versioinnilla, hallitse jaettujen kirjastojen ristiriitoja ja koordinoi julkaisuja.

Oppitunti 4/413 vaihetta

Versiointi, käyttöönotto ja orkestrointi on ilmainen React Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu React Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. React Academy-kurssilla on yhteensä 4 oppituntia.

Itsenäinen käyttöönotto: tärkein hyöty

Module Federationin tärkein hyöty on itsenäinen käyttöönotto: tiimi voi päivittää, testata ja ottaa remoten käyttöön ilman koordinointia host-tiimien kanssa tai hostin uudelleenkäyttöönottoa. Host ottaa muutokset automaattisesti käyttöön seuraavan kerran, kun se lataa remoteEntry.js:n remoten URL-osoitteesta.

Remote-URL-osoitteiden versiointi

Sen sijaan että remoteEntry.js tarjottaisiin kiinteässä URL-osoitteessa (joka muuttuu jokaisen käyttöönoton yhteydessä), URL-osoitteeseen lisätään sisältötiiviste: remoteEntry.[hash].js. Näin jokainen käyttöönotto on muuttumaton — vanhat URL-osoitteet toimivat edelleen, ja host viittaa uuteen tiivisteeseen, kun se päivitetään uuteen käyttöönottoon. Muuttumattomat URL-osoitteet mahdollistavat aggressiivisen CDN-välimuistinnin.

Ominaisuusliput infrastruktuuritasolla

Koska host selvittää remotet URL-osoitteen avulla, A/B-testaus voidaan toteuttaa infrastruktuuritasolla: eri käyttäjille voidaan tarjota eri remoteEntry.js-URL-osoitteita (jotka osoittavat remoten eri versioihin). Tämä mahdollistaa mikrofrontendien aidot canary-käyttöönotot ilman sovelluskoodin feature flag -logiikkaa.

Manifestipohjainen joustava etsintä

Sen sijaan että remote-URL-osoitteet kovakoodattaisiin Webpack-määritykseen, host noutaa käynnistyksen yhteydessä JSON-manifestin: GET /federation-manifest.json palauttaa arvon { buttonApp: 'https://cdn.example.com/button/remoteEntry.abc123.js' }. Hostin käyttämän version päivittämiseksi päivittäkää manifesti — hostia ei tarvitse kääntää uudelleen.

Palautus manifestia päivittämällä

Kun remoten käyttöönotto aiheuttaa regression, palautus on välitön: päivittäkää federation-manifest.json osoittamaan edelliseen remoteEntry.js-URL-osoitteeseen. Host alkaa käyttää vanhaa versiota heti seuraavalla pyyntösyklillä. Hostia ei tarvitse kääntää uudelleen tai palauttaa, eikä koordinointia tarvita.

Webpackin Module Federation 2.0

Module Federation 2.0 (@module-federation/enhanced-paketti) tuo merkittäviä parannuksia: paremman TypeScript-tuen, johon kuuluu tyyppien automaattinen generointi remote-manifesteista, ajonaikaisen plugin-API:n mukautettua latauslogiikkaa varten sekä parannetun shared scope -hallinnan monimutkaisia versioiden neuvottelutilanteita varten.

vite-plugin-federation Viteä varten

vite-plugin-federation-paketti tuo Module Federationin Vite-pohjaisiin projekteihin käyttäen Webpackin ModuleFederationPluginin kaltaista määritys-API:a. Se on yhteensopiva sekä Vite-remotien että Webpack-hostien kanssa ja päinvastoin, joten tiimit voivat siirtyä asteittain Viteen luopumatta Module Federationista.

Dynaamiset remotet ajon aikana

Hyvin dynaamisissa arkkitehtuureissa remote-moduulien URL-osoitteet voidaan määrittää kokonaan ajon aikana: import(remoteRegistry[featureName]), jossa remoteRegistry täytetään API-kutsulla. Tämä mahdollistaa plugin-tyyppiset arkkitehtuurit, joissa uusia mikrofrontend-sovelluksia voidaan lisätä ilman shell-sovelluksen uudelleenrakentamista.

Shell-sovellus orkestroijana

Shell-sovelluksen tärkein tehtävä on orkestrointi: se lukee remote-manifestin, alustaa Module Federationin ajonaikaisen ympäristön, rekisteröi remote-moduulit nimettyjen reittien alle ja renderöi nykyistä URL-osoitetta vastaavan remoten. Shell on tarkoituksella kevyt — se tietää, mitä ladataan, ei sitä, miten se renderöidään.

Module Federationin valvonta tuotannossa

Lisätkää suorituskyvyn seuranta remote-moduulien lataamiseen: kietokaa remote-importit try/catch-rakenteeseen, jotta latausvirheet voidaan käsitellä hallitusti (renderöikää varakäyttöliittymä, jos remote-moduuli ei ole saatavilla), mitatkaa remoteEntry.js-tiedoston ja komponenttien chunkien lataamiseen kuluva aika ja ilmoittakaa, jos remoten latausaika ylittää kynnysarvon (mikä voi viitata CDN-ongelmiin).

Koko CI/CD-putki

Kypsä Module Federation -CI/CD-putki näyttää tältä: remote-tiimi tekee commitin → CI rakentaa remoten → muuttumattoman remoteEntry.[hash].js-tiedoston lataaminen CDN:ään → federation-manifest.json-tiedoston päivittäminen → host ottaa uuden remoten käyttöön seuraavan käyttäjäpyynnön yhteydessä. Jokainen vaihe on automatisoitu, eikä host-tiimin tarvitse osallistua remoten käyttöönottoihin.

Module Federation -remoten palautusstrategia

Mikä on nopein tapa palauttaa virheellinen Module Federation -remoten käyttöönotto?

Oppitunnin kertaus

Module Federation mahdollistaa aidosti itsenäiset käyttöönotot: remotet voidaan ottaa käyttöön ilman hostin uudelleenrakentamista, ja host löytää uudet versiot automaattisesti. Käyttäkää sisältötiivisteellä varustettuja remote-URL-osoitteita muuttumattomaan CDN-välimuistiin sekä dynaamista manifestia joustavaan versioiden reititykseen ja välittömiin palautuksiin. vite-plugin-federation tuo nämä ominaisuudet Viteen, ja dynaamiset remote-importit mahdollistavat plugin-tyyppiset arkkitehtuurit. Shell orkestroi remote-moduulien lataamisen ja pysyy tarkoituksella kevyenä.

Aloita maksutta

Opi React tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
88
Oppitunnit
324

Usein kysytyt kysymykset

Onko oppitunti ”Versiointi, käyttöönotto ja orkestrointi” ilmainen?

Kyllä – oppitunnin ”Versiointi, käyttöönotto ja orkestrointi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko React Academy-kurssin, päivitä CoddyKit PROhon. React Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Versiointi, käyttöönotto ja orkestrointi”?

Ota etäsovellukset käyttöön itsenäisesti semanttisella versioinnilla, hallitse jaettujen kirjastojen ristiriitoja ja koordinoi julkaisuja. Harjoittelet React Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni React Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin React Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Versiointi, käyttöönotto ja orkestrointi”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä React Academy-oppitunnilla?

Kyllä. Jokainen React Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Module Federation: dynaamiset ajonaikaiset tuonnit
  2. Isäntä- ja etäisten React-sovellusten määrittäminen
  3. Tilan ja reitityksen jakaminen remote-sovellusten välillä
  4. Versiointi, käyttöönotto ja orkestrointi
← Takaisin: React Academy