Running Time'da nasıl proje güncellenir?

Katılım
12 Mayıs 2020
Mesajlar
1.165
Çözümler
6
Mesela proje "running time"da, canlıda. Diyelim ki bu projede güncelleme yapmak istiyorum ama tekrardan "publish" etmek istemiyorum. Bu projenin hiç durmaması gerekiyor, hiç durmaması gereken bir sistemde çalışıyorum. Bunu nasıl yapabilirim? Sanırım SP diye bir şey varmış, burada "path" ile fonksiyonlar dosya üzerinden çekilip bu dosyaya atılan "class"lar ile proje durmadan "interface", fonksiyon vb. şeylerin eklenmesi yapılıyormuş. SP nedir? Ayrıca dediğim gibi "path" ile dosya üzerinden çekme işlemi SP ile mi yapılıyor?@bitwise abi yanıtlarsan sevinirim.
 
Mesela proje "running time"da, canlıda. Diyelim ki bu projede güncelleme yapmak istiyorum ama tekrardan "publish" etmek istemiyorum. Bu projenin hiç durmaması gerekiyor, hiç durmaması gereken bir sistemde çalışıyorum. Bunu nasıl yapabilirim? Sanırım SP diye bir şey varmış, burada "path" ile fonksiyonlar dosya üzerinden çekilip bu dosyaya atılan "class"lar ile proje durmadan "interface", fonksiyon vb. şeylerin eklenmesi yapılıyormuş. SP nedir? Ayrıca dediğim gibi "path" ile dosya üzerinden çekme işlemi SP ile mi yapılıyor?@bitwise abi yanıtlarsan sevinirim.

Benim bu konuyla ilgili bildigim "SP" diye bir sey yok.

Runtime'da interprete edilen dilleri degistirebilirsin direkt dosya degistirerek.

Compile edilenler de hotloading edilebilir belirli olcude ama tum uygulamayi keyfi olarak update etmek ve bunu hatasiz yapmak mantikli degil.

Bence burada XY problemi var. Sen aslinda kesintisiz hizmet verirken update de yapmak istiyorsun. Calisan uygulamayi hotload etmek istemiyorsun.

Bunun icin de "Rolling deployment" mimarisine bakabilirsin. Kabaca mantik su, senin "sunucu_ver_1" calisirken update edilmis "sunucu_ver_2" calistirilmaya baslanir. Eger "sunucu_ver_2" trafik almaya hazir ise, trafik 1'den 2'ye yonlendirilir. Boylece uptime kaybetmeden ( neredeyse ) guncellemis olursun. Ters yonde de calisir, 2'de sorun cikarsa bir bug nedeniyle 1'e de donebilirsin.

Eskiden bunu scriptlerle kendimiz yapardik, eger kubernetes benzeri bir orchestration kullaniyorsan o da yapar. Google'yabilirsin "Rolling Deployment".
 

Technopat Haberler

Yeni konular

Geri
Yukarı