Dünyanın en detaylı ücretsiz FDE + DevOps kütüphanesi: 140 üzeri ders, 70 üzeri lab ve 80 uzun yazı, İngilizce ve Türkçe. Öğrenmeye başla →

DevOps Practitioner · Modül 6: Güvenli teslim ve release mühendisliği

Kesintisiz Sema Degisikligi: Genislet ve Daralt

Kod ve sema farkli saatlerde degisir. Genislet eskisini kaldirmadan yenisini ekler, iki surum iki sekle karsi calisir; daralt kimse okumadigini kaldirir. Asama atlamak kesintinin yoludur.

10 dk okuma

Kazanımlar

  • Es zamanli kod ve sema degisikliklerinin calisan surumleri neden bozdugunu aciklamak
  • Genislet (kaldirmadan ekle), sonra tasi, sonra daralt uygulamak
  • Dagitimda eski ve yeni kodu iki sema sekliyle uyumlu tutmak
  • Devam etmeden once iki surum calisirken her asamayi dogrulamak

Neden onemli

Dagitim veritabani sutununu yeniden adlandirir ve yeni adi okuyan kodu gonderir. Donerek guncellemede eski podlar yeni sutunu, yeni podlar eski sutunu sorgular; ikisi de tek yeniden adlandirilmis gercege karsi duser. Uygulama ilk poddan sonuncuya kadar kapalidir; geri alma yardim edemez cunku sema degisikligi calisti bile. Kod ve sema tek olayda dagitilan iki sistemdir; olay dagitimin zorunlu icerdigi her karisik surum anini bozar.

Kavramlar

Genislet ve daralt saatleri ayirir. Genislet yeni sekli eskinin yanina ekler: yeni sutun eklenir, eski kalir; yeni alan secimli, eski alan yazilir. Her iki kod surumu calisir cunku iki sekil vardir. Goc veriyi tasir: yeni sekle eskiyken doldur, geciste cifte yaz. Daralt eski sekli yalnizca calisan her surum yeniyi okuyunca kaldirir: eski sutun duser, eski alan okunmaz. Her asama bagimsiz dagitilir ve dogrulanir; L42 labi deneme uygulamada ucunu calisir.

Asama basina uyumluluk kurallari karisik anlari guvenli tutar. Genisletmede yeni kod eski sekle dayanmalidir (eski satirlarda yeni sutun bos olabilir). Gocte yazilar iki sekle gider yoksa doldurma kurgudur. Daraltmada calisan hicbir kod eski sekle basvuramaz; birakmeden once toplu isler ve herkesin unuttugu raporlar dahil her cagirani ara.

Dogrulama surum seklindedir. Genisletmeden sonra eski ve yeni kod genis semaya karsi gecer. Gocten sonra yeni sekilden okumalar eskiyle eslesir. Daraltmadan sonra suit eski sekil gitmis gecer. Dogrulamasi atlanan asama riskini sonraki asamaya iter; orada baskasinin arizasi kiliginda gelir.

Uygulamali ornek

Deneme uygulamada kullanicilar tablosu handle alanini display_name yapar. Genislet display_name eklerken kod ikisini yazar, handle okur. Goc doldurur, okumalari cevirir. Daralt handle hicbir cagiran kalmayinca duser; once toplu is aramasi kanitlanir. Karisik surum trafigi uc asamada dogru hizmet verir cunku iki sekil iki kod surumunu hep kapsar.

Yaygin yanlis hamle

Tek gocle yeniden adlandirip kod degisikligiyle tek dagitimda gondermek. Hazirlamada calisir (tek surum, karisik an yok), uretimde bozulur (donerek guncelleme karisik anlari garantiler). Hazirlama gecisi kanit degildir; karisik surum trafigi denemedir.

Mini kontrol

4 soruluk isteğe bağlı öz kontrol. Yanıtlar cihazından çıkmaz, saklanmaz ve hiçbir değerlendirmeye sayılmaz.

Ders geri bildirimi

Henüz yayında geri bildirim yok.

Geri bildirim yazmak için giriş yap ve dersi tamamla.

Kaynaklar

Alıştırma

Deneme uygulamada alani genislet, tasi ve daralt yoluyla yeniden adlandir; her asamada iki kod surumu calisirken dogrula, asama dogrulamalarini alintila.

Geçme kriterleri

Kayitta uc asama dagitimi, herbiri karisik surum trafikli hizmet ve eski sekle basvurmayan temiz son sema vardir.

İlerlemeni kaydetmek için giriş yapÜcretsiz hesap: yalnızca ders ilerlemen ve quiz sonuçların saklanır.