← Minden migrációs útmutató

Versenytárs migrációs útmutató

Migrálás Bun.serve-ről Webship-ra anélkül, hogy vak váltást végeznénk.

Válasszuk szét az alkalmazáskódot és a edge feladatokat: tartsuk meg a Bun-t mint az eredeti forrást, miközben a Webship átveszi a TLS-t, a statikus szállítást, a HTTP/3-t, a védelmet és a kérések irányítását.

Érvényes Webship 1.1.0-raTypeScript

Határozza meg a migráció határát a forgalom megváltoztatása előtt.

Kezdje azzal, hogy csak az Webship által reprodukálható és validálható viselkedést mozdítja el. Hagyja a meglévő eredeti rendszeren az alkalmazás hitelesítését, a szolgáltatás-felderítést, a szkripteket és a speciális gyorsítótár-szabályokat, amíg azok helyettesítői át nem mennek a termeléshez hasonló teszteken.

Elsőként azonosítsd a legkisebb gyártási útvonalat.

A forrásfragment az átállási koncepciót azonosítja; a Webship fragment a célformát mutatja. Cserélje ki a példadomainokat, címeket, tanúsítványokat, korlátokat és egészségügyi útvonalakat a környezetében érvényesített értékekre.

Képviselő Bun.serve konfiguráció
Bun.serve({
  port: 443,
  tls: { cert: Bun.file("cert.pem"), key: Bun.file("key.pem") },
  routes: {
    "/": new Response(Bun.file("./public/index.html")),
  },
});
Webship TOML megfelelője
listen = "0.0.0.0:443"
workers = 4

[[sites]]
domain = "app.example.com"
root = "/srv/app/public"
listen = "0.0.0.0:443"
cert = "/etc/letsencrypt/live/app.example.com/fullchain.pem"
key = "/etc/letsencrypt/live/app.example.com/privkey.pem"

[sites.protocols]
h1 = true
h2 = true
h3 = true

Fogalmakat térképezzen fel, ne szintaxist.

A műszaki utasítások nem mindig felelnek meg egy az egyhez. Használja ezt a táblázatot a megfelelő Webship konfigurációs terület megtalálásához, majd ellenőrizze a hatályos konfigurációt és a futásidejű viselkedést.

Jelenlegi koncepció vagy irányelvWebship konfigurációs cél
listener / virtual hostlisten + [reverse_proxy.protocols]
document root[[sites]].root
host matcher[[reverse_proxy.routes]]
certificate and private key[reverse_proxy.tls] / [[sites]] cert + key

Használj visszafordítható, ötlépéses átkapcsolást.

Tartsd készen a régi hallgatót, amíg Webship át nem megy a helyesség, kapacitás, biztonság, megfigyelhetőség és visszagörgetés kapuin a reprezentatív forgalmon.

  1. 1

    A készlet megfigyelhető viselkedése

    Rögzítse a hallgatókat, domaineket, útvonalakat, upstream-eket, tanúsítványokat, átírásokat, hitelesítést, gyorsítótár szabályokat, állapot probe-okat, korlátokat és operatív integrációkat.

  2. 2

    Fordítson le egy határt

    Mozgasson egy hosztot vagy útvonalat szigorú TOML állapotba. Tartsa meg a gyártó-specifikus modulokat és az alkalmazáslogikát a Webship mögött, amíg külön csere nem bizonyított.

  3. 3

    Érvényesítés offline és helyben

    Futtassa a --check-config és --print-effective-config parancsokat, ellenőrizze a kiadott eredményt, vizsgálja meg a helyi állapotot, és használja a TLS-t mind TCP, mind UDP felett, amikor HTTP/3 engedélyezve van.

  4. 4

    Valódi canary forgalom

    Küldjön egy kis, megfigyelhető forgalmi szeletet a Webship-nak. Hasonlítsa össze a státuszkódokat, fejlécet, tartalmakat, késleltetést, upstream állapotot, gyorsítótár viselkedést, naplókat és biztonsági döntéseket.

  5. 5

    Promóció visszagörgetésre készen

    Növelje a forgalmat a mért szakaszokban. Tartsa az előző célt egészséges és azonnal útvonalra állítható állapotban, amíg az egyeztetett megfigyelési ablak és a terhelési kapuk el nem telnek.

Először ellenőrizze. Visszagörgetés útválasztással, ne élő szerkesztéssel.

Érvényesítse a jelölt fájlt, vizsgálja meg a letiltott érvényes konfigurációt, és ellenőrizze a privát hallgatót, mielőtt forgalmat változtatna. Őrizze meg a régi bináris fájlt, konfigurációt, hallgatót és DNS- vagy terheléselosztó célpontot, amíg a megfigyelési ablak le nem zárul.

/usr/local/bin/webship --check-config --config /etc/webship/production.toml
/usr/local/bin/webship --print-effective-config --config /etc/webship/production.toml
curl --http3-only --insecure https://127.0.0.1:443/health