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:
- Egzistuoja aktyvi "mėlyna" aplinka, kuri aptarnauja visą srautą.
- Nauja programos versija diegama visiškai identiškoje, bet neaktyvioje "žalioje" aplinkoje.
- Sėkmingai išbandžius "žalią" aplinką, srautas perjungiama į ją.
- "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