Na obrázku vyššie je verzia v odtieňoch šedej od Tencentu, bežní používatelia k nej majú prístup, server Alibaba Cloud nie je prístupný, ping je normálny a IP rozlíšenie je tiež normálne
Je to jednoducho neprístupné, je vidieť, že Tencent si tiež rád hrá s uvoľnením v odtieňoch sivej...
1. Prečo vydanie v odtieňoch sivej
- Internetové služby sa často menia a cykly vydania sú krátke. Rýchlosť a kvalita sa vždy ťažko kombinujú.
- Šedejské vydávanie môže znížiť riziko publikovania a rozsah jeho dopadu.
- Znížiť závislosť od testovania a znížiť náklady na tvorbu dát pre offline samotestovanie.
- Je pohodlné centrálne monitorovať logy a publikovať ich v plnom znení Vďaka úlohe vyvažovania záťaže na každej vrstve je ťažké sledovať kompletné volacie spojenie.
- Môžete použiť testovacie účty v odtieňoch šedej a potom reálne používateľské účty v odtieňoch šedej po úspešnom testovaní, aby ste ešte viac znížili riziko a dopad publikovania.
- Jednoduchý návrat.
Problémy, ktoré nie je možné vyriešiť vydaním v odtieňoch sivej
Treba zdôrazniť, že vyššie uvedený "tolerovateľný dopad" musí byť obnoviteľný, napríklad API nie je možné volať určitý čas, ale po oprave ho možno úspešne zavolať. Trvalá strata alebo zničenie používateľských údajov (ako sú informácie o produkte, objednávky a pod.) je neúnosná. Preto je zodpovednosťou architektov internetových podnikov opraviť stratené používateľské dáta na nedávny stav (napríklad pred hodinou alebo týždňom) manuálnym zásahom v prípade straty používateľských dát v dôsledku porúch výrobného systému (napríklad pravidelné zálohovanie používateľských dát, písanie prevádzkových logov a pod.).
TIPY: Najskôr otestujte politiku šedej farby vášho účtu, aby ste znížili riziko poškodenia alebo straty údajov skutočných používateľov.
2. Aký účinok sa očakáva? Bez ohľadu na zmenu chceme, aby boli špecifické požiadavky smerované do našej verzie zmeny (verzia v odtieňoch šedej) na pozorovanie a validáciu.
3. Stratégia odtieňov sivej V skutočnosti je to to, čo požiadavky by mali smerovať do našej verzie v odtieňoch sivej (stroj na odtieňoch šedej). Často je to úzko spojené s podnikaním. Napríklad pre API existujú zvyčajne nasledujúce požiadavky:
Konkrétni používatelia (napr. testovacie účty) Konkrétne aplikácie (napr. testovacie aplikácie alebo partnerské aplikácie) Špecifické moduly a rozhrania (len niektoré rozhrania potrebujú odtieň šedej, čo je zvyčajne modifikácia API kontajnerov, a niektoré API, ktoré nie sú veľmi dôležité, sa používajú na testovanie odtieňov šedej). ) Konkrétny stroj (niektoré IP adresy požiadaviek sú presmerované na stroj v odtieňoch šedej) 4. Diskusia o schémach v odtieňoch sivej Riešenie 1: Úroveň kódu sa hodnotí podľa dohodnutej vlajky a stará a nová sa dynamicky prepínajú – prístup Amazonu
Implementácia:
Zakopte spínač do kódu, urobte hodnotenie if-else a nastavte prepínač na zapnutý pre stroje, ktoré vyžadujú odtieň šedej, inak je vypnutý. Pre každé vydanie existujú dve verzie.
zásluha
Rýchly návrat späť, nie je potrebné systém znovu publikovať a reštartovať. nedostatok
Buďte naklonení k kódovaniu. Vetvená logika prináša zložitosť. Túto metódu použil autor, keď som bol v Alibabe, keď prepínal databázu tovarov z Oracle na MySQL a používal stavovú premennú na riadenie. Tým sa dosiahne efekt hladkej migrácie.
Možnosť 2: Predbežný stroj - Alibabova prax
V skutočnosti to nie je odtieň šedej v pravom zmysle slova. Pretože tento predbežný stroj je interná IP a nemá žiadnu externú službu. Na overenie je potrebné viazanie domény. Ale dáta sú úplne online. Takže je to v podstate jednoduchý prístup pre niektorých konkrétnych používateľov Grayscale (používateľov, ktorí majú prístup k Grayscale stroju, interných testovacích používateľov). V skutočnosti existuje podobný prístup aj na strane API, čo je naše Gamma prostredie, a tiež poskytujeme doménové meno Gamma stroja, aby sme uľahčili spoluprácu externých kooperatívnych používateľov pri testovaní.
zásluha
Jednoduché nedostatok
Plytvajte strojom (tento môže byť vložený do produkčného prostredia po dokončení predvydania a odstránený z nginx počas predvydania, ale je potrebná podpora prevádzky a údržby.) ) Nie je dostatočne flexibilný IDL služby môžu byť použité iba pre prístupové vrstvy a IDL služby je potrebné posudzovať samostatne. Možnosť 3: Nasadenie SET
1. Nasadzovať izolovane podľa služieb
Napríklad v súčasnej praxi API kontajnerov je granularita nasadenia dosiahnutá na úrovni API a front-end preposiela podľa nginx. Napríklad čo:
Kontajner mikro nákupného API: api.weigou.qq.com Pat API Container:api.paipai.com Yixun API Container: api.yixun.com Online nákupné API Container:api.buy.qq.com Vyššie uvedené je izolované nasadenie na úrovni veľkých podnikov. Môže byť tiež ďalej vylepšený na úrovni modulu, napríklad API virtuálneho e-commerce, čo je podbiznisový modul pod Paipai, ale keďže sú pripojené k WeChatu, počet návštev sa výrazne zvýšil, aby sa neovplyvnilo ostatné podniky Paipai a aby sa zabránilo ovplyvneniu inými podnikmi, API tu umožňuje nasadiť dva stroje samostatne pre ne, nginx môže byť nakonfigurovaný tak, aby odčerpával prístup z virtuálneho API:
Virtuálny API kontajner: http://api.paipai.com/v2/virbiz
Takto, keď vydáme verziu, môžeme najprv vybrať Yixun s najmenším objemom podnikania na publikovanie a potom zistiť, že nie je problém pred použitím všetkých ostatných platforiem.
2. Izolácia nasadenia pomocou používateľa
To nie je veľmi vhodné pre otvorené platformy, ale je to veľmi vhodné pre aplikačné scenáre ako SNS. Napríklad systém QQ je rozdelený do niekoľkých množín podľa segmentov používateľov a každá sada obsahuje 100 miliónov po sebe idúcich čísel. Ak predpokladáme, že najnovšie QQ číslo je blízke 1 miliarde, existuje celkovo 10 množín (Množina 1 až Množina 10). Týmto spôsobom si môžete zakaždým vybrať jeden zo SET-ov na publikovanie a vysokolevelový QQ často nie je veľmi dôležitým používateľom, takže SET10 bude vydaný ako prvý.
zásluha
Izolované nasadenie s minimálnym dopadom naprieč obchodnými liniami. Automaticky podporujte publikovanie v odtieňoch šedej. nedostatok
Granularita odtieňov sivej závisí od granularity izolovaného nasadenia, ktoré je vo všeobecnosti veľké. Plytvanie strojmi v porovnaní s centralizovaným nasadením. Verzie každej obchodnej línie môžu byť nekonzistentné, čo nie je vhodné pre jednotné riadenie. Existujú určité náklady na implementáciu a nasadenie Schéma 4: Dynamické smerovanie
Metóda: Použite šedobú politiku, ktorú možno flexibilne nastaviť tak, aby ovplyvnila správanie load balance a umožnila vrátenie IP a portu šedej služby podľa šedej politiky.
Vhodné pre služby v odtieňoch sivej s back-office IDL.
zásluha
Flexibilné, ovládateľné. nedostatok
Súčasné konfiguračné centrum a samotný L5 nezohľadňujú špecifikované smerovacie politiky a nie sú škálovateľné, preto ich je potrebné vyvíjať mimo nich. Metadátové zdroje API sú pomerne rozptýlené a v súčasnosti sú metadáta API a IDL, úrovne API a frekvenčné limity rozdelené medzi rôzne zdroje dát, a teraz je potrebné pridať zdroj dát o smerovaní v odtieňoch šedej.
Zvyčajne existujú tri spôsoby, ako publikovať odtieň sivej nginx+lua, nginx sa distribuuje podľa cookies a nginx podľa váhy:
nginx+lua rozlišuje podľa IP adresy návštevníka, pretože spoločnosť exportuje IP adresu a webová stránka bude prístupná buď v starej, alebo novej verzii, ktorá nie je vhodná pre túto metódu nginx priraďuje váhy na základe váh, čo je jednoduché na implementáciu a dá sa vyskúšať NGINX rozdeľuje podľa cookies a Grayscale publikuje podľa používateľov
|