Sobes.tech
Middle

Kas yra Blue-Green diegimas?

sobes.tech AI

Atsakymas iš AI

Mėlyna-Žalia diegimo strategija yra naujo funkcionalumo išleidimo strategija, pagrįsta dviejų identiškų aplinkų palaikymu: "mėlyna" (dabartinė, veikianti versija) ir "žalia" (nauja versija), siekiant minimalios prastovos laiko.

Algoritmas:

  1. Egzistuoja aktyvi "mėlyna" aplinka, kuri aptarnauja visą srautą.
  2. Nauja programos versija diegama visiškai identiškoje, bet neaktyvioje "žalioje" aplinkoje.
  3. Sėkmingai išbandžius "žalią" aplinką, srautas perjungiama į ją.
  4. "Mėlyna" aplinka išsaugoma greitam atstatymui arba gali būti naudojama kitoms diegimo operacijoms.

Pagrindiniai privalumai:

  • Minimalus prastovos laikas: Srauto perjungimas vyksta beveik akimirksniu.
  • Paprasčiausias atstatymas: Jei kyla problemų su nauja versija, srautas lengvai nukreipiamas atgal į "mėlyną" aplinką.
  • Mažesnis rizikos lygis: Nauja versija testuojama izoliuotoje aplinkoje prieš perjungiant srautą.

Trūkumai:

  • Dvigubi ištekliai: Reikalingi ištekliai dviejų pilnų aplinkų palaikymui.
  • Būsenos valdymas: Gali būti sudėtinga valdyti programėlės būseną, jei ji naudoja nuolatinį duomenų bazės keitimą.

Pavyzdys, kaip perjungti srautą naudojant apkrovos balansierių:

// Balansieriaus konfigūracija (supaprastinta)
{
  "listeners": [
    {
      "port": 80,
      "protocol": "HTTP",
      "default_actions": [
        {
          "type": "forward",
          "target_group_arn": "arn:aws:elasticloadbalancing:..." // "Mėlynos" aplinkos grupės ARN
        }
      ]
    }
  ]
}
# Komanda srautui perjungti į "žalią" aplinką
# (pavyzdys AWS CLI, tikėtina, kad yra naujos tikslios grupės ARN)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // "Žalios" aplinkos grupės ARN