Ҷойгиркунии сифр-вақти корӣ
(Фасл: Меъморӣ ва протоколҳо)
1) Zero-Downtime чист ва чаро он лозим аст
Zero-Downtime (ZDT) як роҳи баровардани версияҳои нави барнома бидуни дастрасӣ ба хидмат барои корбарон ва бидуни талаби дархостҳо мебошад. Вазифаҳо:- Вақти пастравии сифр барои муштариён ва ҳамгироӣ.
- Варақаҳои пешгӯишаванда, суръати тез ва хатари идорашаванда.
- Нигоҳдории SLO/SLI (ниҳонӣ, хатогиҳо, мавҷудият) дар ҳудуди созишномаҳо.
Калиди ZDT ин як техникаи "ҷодугарӣ" нест, балки маҷмӯи намунаҳои таҳвил, мутобиқати маълумот ва масири салоҳиятдори трафик мебошад.
2) Принсипҳои асосии сифр-вақти корӣ
1. Мутобиқати версия: Версияҳои нав ва кӯҳна бояд трафик ва маълумотро дар як вақт дуруст идора кунанд.
2. Идемпотенсияи амалиёт: коркард набояд давлатро вайрон кунад.
3. Қатъи зебо ва дренажи пайвастшавӣ.
4. Санҷиши зина ба зина: санҷишҳои омодагӣ/зиндагӣ, нуқтаҳои саломатӣ.
5. Бозгашт ҳамчун шаҳрванди дараҷаи аввал: бозгашт нисбат ба hotfix осонтар ва тезтар аст.
6. Мушоҳидаҳо аз рӯи тарроҳӣ: аломатҳои озодкунӣ, панелҳои ягона, огоҳиҳои SLO.
7. Автоматика: Сенарияҳои озодкунӣ ва бозгашт рамзӣ мебошанд, на дастурҳои дастӣ.
3) Намунаҳои таҳвили бебозгашт
3. 1 Навсозии Rolling
Оҳиста-оҳиста як қисми намунаҳои версияи кӯҳнаро аз трафик хориҷ кунед, онҳоро ба нав навсозӣ кунед ва ба ҳавз баргардонед.
Тарафдор: иқтисодиёт дар инфрасохтор, танҳо дар k8s/ASG.
Омӯз: муддате кластер бо ду версия дар як вақт кор мекунад (нусхаи skew).
3. 2 Кабуд-Сабз
Ду пешрафти пурра: фаъол (кабуд) ва номзад (сабз). Гузариши ҳаракат - флипи атомӣ.
Тарафдор: бозгашти фаврӣ, бунбасти тоза.
Омӯз: Арзиши инфрасохтор, бо давлатдорӣ мушкилтар аст.
3. 3 Иҷрои канарӣ/прогрессивӣ
Мо ҳиссаи ками трафикро (1-5-10-25-50-100%) ба версияи нав бо дарвозаҳо аз рӯи ченакҳо медиҳем.
Тарафдор: радиуси ҳадди ақали таркиш, қарорҳои ба маълумот асосёфта.
Омӯз: Риояи баркамол ва масири оқилона лозим аст.
3. 4 Трафики сояафкан/Оғози торик
Дархостҳои воқеиро ба версияи нав (бидуни посух ба корбар) зеркашӣ кунед ё барои ҷамъоварии ченакҳо пинҳон кунед.
Тарафдор: Шиносоии барвақти мушкилот.
Омӯз: сарбории дукарата ба нашъамандӣ, шумо бояд таъсири тарафҳоро назорат кунед.
4) Идоракунии ҳаракат ва пайвастшавӣ
4. 1 Омодагӣ/Зиндагӣ
Зиндагӣ ба оркестр мегӯяд, ки "маро дубора оғоз кунед".
Омодагӣ - "трафикро роҳнамоӣ накунед, ман ҳанӯз омода нестам".
Бе мантиқи дурусти тайёрӣ ва танаффус озод карда намешавад.
4. 2 Дренажи пайвастшавӣ
Пеш аз баровардани намуна аз ҳавз:- қабули пайвастҳои навро қатъ кунед,
- интизори анҷоми фаъол,
- танаффуси "овезон" -ро қатъ кунед.
4. 3 Ҷаласаҳои часпанда ва масири L7
Часпак барои сенарияҳои давлатӣ муфид аст, аммо тавозуни сарбориро мушкил мекунад.
Қоидаҳои L7 (роҳ, сарлавҳа, куки, версияҳои API) барои канария/ҳалқа қулай мебошанд.
4. 4 Пайвастҳои дарозмуддат
Ҷараёни ҷараёнии Web-Socket/GRPC: пеш аз навсозӣ ҳолати дренажиро + сигнали "GOAWAY" -ро фурӯзон кунед.
Тирезаҳоро ба нақша гиред, то аз ҷараёнҳо ва пушти мизоҷон зиёдтар бошад.
5) Мутобиқати маълумот ва муҳоҷирати пойгоҳи додаҳо
5. 1 Шартномаи тавсеаи муҳоҷират
1. Васеъ кардан: бе шикастани нусхаи кӯҳна сутунҳо/индексҳо/ҷадвалҳои нав илова кунед.
2. Муҳоҷират: мо маълумотро дар замина ва бемаънӣ интиқол медиҳем (гурӯҳҳо, нуқтаҳои гузаргоҳ).
3. Шартнома: кӯҳнаро танҳо пас аз эътидол нест кунед.
5. 2 Амалия
Дар равзанаи озодкунӣ қулфҳои истисноии DDL пешгирӣ кунед.
Санҷиши шартномаҳои API/чорабиниҳо (қайди схема, CDC).
Барои муҳоҷирати вазнин - воситаҳои онлайн, нусхабардорӣ, гузариши марҳилавӣ.
Дучанд-нависед танҳо бо deduplication ва истеъмолкунандагони idempotent.
Outbox/Inbox барои ҳамгироии боэътимод тавассути навбатҳо.
6) Кэшҳо, сессияҳо ва корҳои пасзамина
Ҷаласаҳо ва кэш берунӣ мебошанд (Redis/Memcached), то ки версияҳо иваз карда шаванд.
Пеш аз ҷамъ кардан индекси кэш/jits/tempo гарм кунед.
Навбати пасзаминаро бо версия тақсим кунед ё роҳбариро барои пешгирӣ кардани мусобиқа истифода баред.
7) Дарвозаҳои мушоҳида ва SLO
Сигналҳои тиллоӣ: таъхири p95/p99, сатҳи хатогӣ, RPS, пуррагӣ, ақибмонии навбат.
Бизнес SLA: иҷозатномаҳо, табдилдиҳӣ, пардохтҳои бомуваффақият, рад кардани қадамҳои ҳалқа.
Дарвозаҳо: нақшакашӣ танҳо дар сурате пешбарӣ карда мешавад, ки канарейка ≤ сатҳи ибтидоӣ + ҳадди таназзул ва буҷаи хатогӣ сӯхта нашавад.
8) Анҷоми бехатар ва бозгашт
Бозгашт ҳамон қубур аст, танҳо дар самти муқобил: фармонҳои собит, на "крафтҳои дастӣ".
Барои кабуд-сабз - бозгашт; барои канарӣ - аз даст додани вазн то 0% ё қадами қаблии устувор.
Маълумот: ҳисобкунии амалиётҳо, коркард, ихтисор кардани ҳодисаҳо.
9) Рӯйхати назоратии сифр-вақти корӣ
Пеш аз озод шудан
- Як артефакти имзошуда (тағйирнопазир), SBOM ва санҷиши вобастагӣ ҷамъ оварда мешаванд.
- Омодагӣ/зинда будан татбиқ ва санҷида шуд.
- Нақшаи муҳоҷират дар ҳолати васеъшавӣ, бознишастагӣ тасдиқ карда шуд.
- Панели панелҳо ва огоҳиҳо барои версияи нав омодаанд, аломатҳои озодкунӣ партофта мешаванд.
- Rollback барои саҳна/пешакӣ санҷида шуд.
Ҳангоми озод шудан
- Дренажи пайвастшавӣ фаъол аст, танаффусҳо мувофиқанд.
- Трафик канарӣ/ҳалқа ё флип аст (кабуд-сабз).
- Нишондиҳандаҳоро бо сатҳи ибтидоӣ муқоиса мекунанд, ҳадди дарвоза иҷро карда мешавад.
Пас аз озод шудан
- Пас аз мониторинги N соат, ҳеҷ ҳодисае нест.
- Муҳоҷирати шартномавӣ ба анҷом расида, парчамҳо/хатсайрҳои муваққатиро бардоштанд.
- Навсозии китоби ретроспективӣ.
10) Анти-намунаҳо
Бе дренаж ва омодагӣ ба танаффус дархост кунед ва ҷойгир кунед.
DDL-и тайёрнашуда ⇒ қуфлҳо ва танаффусҳо дар вақти саривақтӣ.
Омезиши схемаҳои номувофиқ байни версияҳои хидматӣ.
Набудани номутобиқатӣ дар коркарди коргарон ва коргарон.
"Бе ҳис кунед" бидуни дарвоза ва муқоиса бо ҳолати аввалия.
Long DNS-TTL бо кабуд-сабз, бинобар ин флип чанд соат давом мекунад.
Ҷаласаҳои маҳаллӣ/кэш дар хотираи мисол бо ғалтак/канарӣ.
11) Сенарияҳои татбиқ
11. 1 Кубернетҳо (ғалтак + канарӣ)
Ҷойгиркунии s 'max' дастнорас = 0 ',' max 'Surge = 25%'.
Омодагӣ интизори гармшавӣ аст (оғози кэш, муҳоҷирати ночиз).
Хизматрасонӣ-фикрию/Ingress бо масири вазн (1-5-10-25-50-100%).
Огоҳиҳо: p95, 5xx, ақибмонии навбат, ҳалқаи тиҷорат.
11. 2 Кабуд-Сабз дар абр
Ду стек дар паси тавозун: 'кабуд. намуна. com 'i' сабз. намуна. com '.
Гарм кардани сабз, дуд/регрессия, пас шунаванда/своп масир (ё гузариши DNS бо TTL паст).
Дар ҳолати мушкилот - лағжиши фаврӣ.
11. 3 Хадамоти давлатӣ
Нусхаҳои маълумот + муҳоҷирати онлайн; хониши дукарата бо санҷиш.
Ҷабҳаҳои пасзамина бо версияи "роҳбарӣ" ё навбатҳои тақсимшуда гузаронида мешаванд.
Ҷаласаҳо/кэш берун аз намуна; часпак танҳо муваққатан фаъол аст.
12) Барномаҳои Ficheflags ва муштарӣ
Хусусиятҳои нав бо парчамҳо фаъол карда мешаванд (сегментҳо: кормандон → бета → ҳама).
Барои муштариёни мобилӣ/мизи корӣ, ҳудуди мутобиқати протокол ва сиёсати таназзули меросро (таназзули сервер) баррасӣ кунед.
13) Иҷро ва арзиши
Роллинг арзонтар аст, аммо мутобиқати дақиқро талаб мекунад.
Ҳангоми озод шудан кабуд-сабз гаронтар аст, аммо лағжиш фавран аст.
Канария хатар ва хароҷотро мувозинат мекунад, аммо мушоҳидаҳои сахтро талаб мекунад.
Тавассути пешнамоишҳои эфемералӣ ва стендҳои тозакунии худкор сарфа кунед.
14) Ҳадди ақали лӯлаи истинод ZDT
1. Сохтмон: артефакти ягона, имзо, SBOM.
2. Санҷиш: воҳиди/ҳамгироӣ/шартнома + амният.
3. Марҳила: дуд, сарборӣ, тавсеаи муҳоҷират, санҷиши бозгашт.
4. Prod: сояи → канарӣ (дарвозаҳо) ё флипи кабуд-сабз.
5. Ҷойгиркунӣ пас аз: назорат, тозакунии шартнома, ретро.
15) Хулосаи мухтасар
Zero-Downtime як интизом аст: версияҳои мувофиқ + масири дуруст + муҳоҷирати идорашаванда + мушоҳида ва суръати тез. Намунаи контекстро интихоб кунед (ғелонда, кабуд-сабз, канарӣ), дарвозаҳои SLO-ро автоматӣ кунед, маълумотро номутаносиб нигоҳ доред - ва релизҳо ба раванди боэътимоди муқаррарӣ табдил меёбанд.