Aukščiau pateiktas paveikslėlis yra "Tencent" pilkos spalvos leidimas, paprasti vartotojai gali jį pasiekti, "Alibaba Cloud" serverio negalima pasiekti, ping yra normalus, o skiriamoji geba IP taip pat normali
Tai tiesiog nepasiekiama, galima pastebėti, kad "Tencent" taip pat mėgsta žaisti su pilkos spalvos išleidimu...
1. Kodėl "Grayscale Release"
- Interneto paslaugos dažnai keičiasi, o išleidimo ciklai yra trumpi. Greitį ir kokybę visada sunku suderinti.
- Pilkos spalvos publikavimas gali sumažinti publikavimo riziką ir poveikio mastą.
- Sumažinkite priklausomybę nuo testavimo ir sumažinkite duomenų kūrimo išlaidas savikontrolei neprisijungus.
- Patogu centralizuotai stebėti žurnalus ir juos skelbti visą Dėl apkrovos balansavimo vaidmens kiekviename sluoksnyje sunku sekti visą skambučio nuorodą.
- Galite naudoti pilkos spalvos bandomąsias paskyras, o po to, kai bandomoji paskyra praeina, pilkos spalvos tikrų vartotojų abonementus, kad dar labiau sumažintumėte publikavimo riziką ir poveikį.
- Lengvas atšaukimas.
Problemos, kurių negalima išspręsti pilkos spalvos išleidimais
Reikėtų pabrėžti, kad aukščiau paminėtas "toleruotinas poveikis" turi būti atkuriamas, pavyzdžiui, API negalima iškviesti tam tikrą laiką, tačiau pataisius ją galima sėkmingai iškviesti. Netoleruotinas nuolatinis naudotojo duomenų (pvz., produkto informacijos, užsakymo informacijos ir kt.) praradimas ar sunaikinimas. Todėl interneto įmonių architektai yra atsakingi už prarastų vartotojo duomenų atstatymą į naujausią būseną (pvz., prieš valandą ar prieš savaitę), rankiniu būdu įsikišant, jei vartotojo duomenys prarandami dėl gamybos sistemos sutrikimų (pvz., reguliarus vartotojo duomenų atsarginis kopijavimas, operacijų žurnalų rašymas ir kt.).
PATARIMAI Pirmiausia išbandykite paskyros pilkos spalvos politiką, kad sumažintumėte riziką sugadinti ar prarasti tikrų naudotojų duomenis.
2. Kokio poveikio tikimasi? Nepriklausomai nuo pakeitimo, norime, kad konkrečios užklausos būtų nukreiptos į mūsų pakeitimo versiją (pilkos spalvos versiją), kad būtų galima stebėti ir patvirtinti.
3. Pilkos spalvos strategija Tiesą sakant, tai yra tai, kokios užklausos turėtų būti nukreiptos į mūsų pilkos spalvos versiją (pilkos spalvos mašina). Tai dažnai yra glaudžiai susiję su verslu. Pavyzdžiui, API paprastai taikomi šie reikalavimai:
Konkretūs naudotojai (pvz., bandomosios paskyros) Konkrečios programos (pvz., bandomosios programos arba partnerių programos) Konkretūs moduliai ir sąsajos (tik kai kurioms sąsajoms reikia pilkos spalvos, kuri paprastai yra API konteinerių modifikacija, o kai kurios API, kurios nėra labai svarbios, naudojamos pilkos spalvos testavimui.) ) Konkretus įrenginys (kai kurie užklausos IP adresai persiunčiami į pilkos spalvos aparatą) 4. Pilkos spalvos schemų aptarimas 1 sprendimas: kodo lygis vertinamas pagal sutartą vėliavėlę, o senas ir naujas dinamiškai perjungiami - "Amazon" požiūris
Įgyvendinimas:
Užkaskite jungiklį kode, priimkite sprendimą "if-else" ir nustatykite jungiklį į įjungtą mašinoms, kurioms reikalingi pilkos spalvos tonai, kitaip jis bus išjungtas. Kiekvienam leidimui yra dvi versijos.
Nuopelnus
Greitas atšaukimas, nereikia iš naujo publikuoti ir paleisti sistemos. Trūkumas
Būkite linkę koduoti. Šakojimo logika suteikia sudėtingumo. Šį metodą autorius naudojo, kai buvau "Alibaba", perjungdamas prekių duomenų bazę iš "Oracle" į "MySql" ir naudodamas būsenos kintamąjį valdymui. Taip pasiekiamas sklandaus migracijos efektas.
2 variantas: išankstinio išleidimo mašina - "Alibaba" praktika
Tiesą sakant, tai nėra pilkos spalvos tikrąja to žodžio prasme. Kadangi šis išankstinio leidimo aparatas yra vidinis IP ir neturi išorinės tarnybos. Norint patikrinti, reikalingas domeno susiejimas. Tačiau duomenys yra visiškai internete. Taigi tai iš esmės paprastas požiūris kai kuriems konkretiems "Grayscale" vartotojams (vartotojams, turintiems prieigą prie pilkos spalvos mašinos, vidinių bandymų vartotojams). Tiesą sakant, panašus požiūris taikomas ir API pusėje, kuri yra mūsų gama aplinka, ir mes taip pat pateikiame gama įrenginio domeno vardą, kad išoriniai bendradarbiaujantys vartotojai galėtų bendradarbiauti testuojant.
Nuopelnus
Paprasta Trūkumas
Iššvaistykite mašiną (ją galima įdėti į gamybos aplinką pasibaigus išankstiniam leidimui ir pašalinti iš nginx išankstinio leidimo metu, tačiau reikalingas O&M palaikymas.) ) Nepakankamai lankstus IDL paslaugos gali būti naudojamos tik prieigos lygmens mašinoms, o IDL paslaugos turi būti svarstomos atskirai. 3 variantas: SET diegimas
1. Diegti atskirai pagal paslaugas
Pavyzdžiui, dabartinėje API konteinerių praktikoje diegimo detalumas gali būti pasiektas iki API lygio, o priekinės dalies persiuntimas pagal nginx. Pavyzdžiui, kas:
Mikro apsipirkimo API konteineris: api.weigou.qq.com Pat API Container:api.paipai.com Yixun API konteineris: api.yixun.com Apsipirkimo internetu API Container:api.buy.qq.com Tai yra izoliuotas diegimas didelio verslo lygiu. Jis taip pat gali būti dar labiau patobulintas iki modulio lygio, pvz., virtualios paslaugos elektroninės prekybos API, kuri yra antrinio verslo modulis, kabantis po "Paipai", tačiau kadangi jie yra prijungti prie "WeChat", apsilankymų skaičius žymiai padidėjo, kad nebūtų paveiktas kitų "Paipai" verslų, o siekiant išvengti kitų įmonių įtakos, API čia yra įdiegti dvi mašinas atskirai, nginx galima sukonfigūruoti taip, kad išeikvotų virtualią API prieigą:
Virtualus API konteineris: http://api.paipai.com/v2/virbiz
Tokiu būdu, kai išleidžiame versiją, pirmiausia galime pasirinkti "Yixun" su mažiausia verslo apimtimi, kurią norite skelbti, o tada stebėti, kad prieš naudodamiesi visomis kitomis platformomis nėra jokių problemų.
2. Diegti izoliuojant vartotoją
Tai nelabai tinka atviroms platformoms, tačiau labai tinka tokiems taikymo scenarijams kaip SNS. Pavyzdžiui, QQ sistema yra padalinta į kelis rinkinius pagal vartotojų numerių segmentus, o kiekviename rinkinyje yra 100 milijonų iš eilės einančių skaičių. Darant prielaidą, kad naujausias QQ skaičius yra artimas 1 milijardui, iš viso yra 10 rinkinių (nuo 1 iki 10 rinkinio). Tokiu būdu kiekvieną kartą galite pasirinkti vieną iš SET, kurį norite skelbti, o aukšto lygio QQ dažnai nėra labai svarbus vartotojas, todėl SET10 bus išleistas pirmas.
Nuopelnus
Izoliuotas diegimas su minimaliu poveikiu visoms verslo linijoms. Automatiškai palaikykite pilkos spalvos publikavimą. Trūkumas
Pilkos spalvos detalumas priklauso nuo izoliuoto dislokavimo detalumo, kuris paprastai yra didelis. Mašinų švaistymas, palyginti su centralizuotu diegimu. Kiekvienos verslo linijos versijos gali būti nenuoseklios, o tai nėra palanki vieningam valdymui. Yra tam tikrų įgyvendinimo ir diegimo išlaidų 4 schema: dinaminis maršruto parinkimas
Metodas: Naudokite pilkos spalvos strategiją, kurią galima lanksčiai sukonfigūruoti, kad paveiktų apkrovos balanso veikimą ir leistų grąžinti pilkos spalvos paslaugos IP ir prievadą pagal pilkos spalvos strategiją.
Tinka pilkos spalvos aptarnavimui su IDL.
Nuopelnus
Lankstus, valdomas. Trūkumas
Dabartinis konfigūracijos centras ir pats L5 neatsižvelgia į nurodytas maršruto parinkimo strategijas ir nėra keičiamo dydžio, todėl jas reikia kurti už jų ribų. API metaduomenų šaltiniai yra gana išsibarstę, o šiuo metu API ir IDL metaduomenys, API lygiai ir dažnio apribojimai yra paskirstyti skirtinguose duomenų šaltiniuose, o dabar reikia pridėti pilkos spalvos maršruto parinkimo duomenų šaltinį.
Paprastai yra trys būdai skelbti pilkos spalvos nginx+lua, nginx paskirstomas pagal slapukus, o nginx priskiriamas pagal svorį:
nginx+lua išskiria pagal lankytojo IP adresą, nes įmonė eksportuoja IP adresą, o svetainė bus pasiekta senąja arba nauja versija, kuri šiam metodui netinka NGINX priskiria svorius pagal svorius, kuriuos paprasta įgyvendinti ir kuriuos galima išbandyti "Nginx" dalijasi pagal slapukus, o pilkos spalvos – pagal vartotojus
|