Middle
Mis on Blue-Green juurutus?
sobes.tech AI
Vastus AI-lt
Sinine-Roheline juurutusstrateegia on uus funktsionaalsuse väljalaske strateegia, mis põhineb kahe sarnase keskkonna säilitamisel: "sinine" (praegune, töötav versioon) ja "roheline" (uus versioon), et saavutada minimaalne seisakuaeg.
Algoritm:
- Eksisteerib aktiivne "sinine" keskkond, mis teenindab kogu liiklust.
- Uus rakenduse versioon juurutatakse täielikult identses, kuid mitteaktiivses "rohelises" keskkonnas.
- Pärast "rohelise" keskkonna edukat testimist, liiklus suunatakse sellele.
- "Sinine" keskkond säilitatakse kiireks tagasipöördumiseks või võib olla kasutusel järgmiste juurutuste jaoks.
Peamised eelised:
- Minimaalne seisakuaeg: Liikluse ülekandmine toimub peaaegu hetkega.
- Lihtne tagasipöördumine: Kui uue versiooniga tekib probleem, saab liiklust hõlpsasti tagasi suunata "sinise" keskkonna juurde.
- Vähem risk: Uus versioon testitakse isoleeritud keskkonnas enne liikluse ülekandmist.
Puudused:
- Kahe ressursi nõue: Vajalikud ressursid kahe täis keskkonna toetamiseks.
- Oleku haldamine: Rakenduse oleku haldamine võib olla keeruline, kui see kasutab pidevat andmebaasi muutustega.
Näide liikluse ülekandmisest koormuse jaoturi kasutamisega:
// Jaoturi konfiguratsioon (lihtsustatud)
{
"listeners": [
{
"port": 80,
"protocol": "HTTP",
"default_actions": [
{
"type": "forward",
"target_group_arn": "arn:aws:elasticloadbalancing:..." // "Sinise" keskkonna grupi ARN
}
]
}
]
}
# Liikluse suunamine "rohelisele" keskkonnale
# (AWS CLI näide, eeldades, et on uus grupi ARN)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // "Rohelise" keskkonna grupi ARN