Erlang çalışan birden fazla web sunucusunda (yük dengeli) ve arka uç veritabanı için Mnesia kullanılıyorsa, tüm sistemi daha yeni bir sürüme yükseltmenin en iyi yolu nedir?Erlang'da, dağıtılmış bir sistemi yükseltmenin en iyi yolu nedir?
cevap
Erlang, sıcak kod yüklemesini desteklese de, kullanması gereken bir şey değildir. Durumunuzda, bir düğümün yük dengeleyiciden bir süreyi kaldırması, yeni kodu çalıştırıp yeniden yük dengeleyicisine geri yüklemesi daha kolay görünüyor.
Düğümlerin takılması ayrıca, canlı sisteminizde yeni Erlang/OTP sürümlerine yükseltme yapmak isteyip istemediğinizi yapmaya hazır olmanız gereken bir şeydir.
Ama sizin için havaya uçurabilen asıl konu, mnesia'dan gelen endişelerdir. Sanırım mnesia'nın yapmasını istediği şeylerle ilgili yeni bir soru sormalısın. Şema/tablo değişikliği yoksa ve yalnızca bir düğümü aşağıya çekmek ve daha sonra eklemek isterseniz. Veya aslında tablolarda yeni tablolar veya yeni sütunlar sunuyorsanız. Mnesia, tablo kopyaları ile düğüm ekleme ve çıkarma olanağı sağlar ve ayrıca mnesia:transform_table/3,4
aracılığıyla birden çok tablo tanımını benzersiz şekilde destekler.
Sadece kod yükseltmeleri yapıyorsanız, erlang release handling with fab ile ilgili bir makale yazdım. Bu kurulum ile, düğümleri yeniden başlatmaya gerek kalmadan gerçek zamanlı kod yükleme yapabilirsiniz. Ancak, veritabanını dönüştürmek, sürüm yükseltmesinden ayrı olarak tetiklenen tek bir düğümünden yapılmalıdır.
- 1. jquery 1.3'ten 1.4'e yükseltmenin en iyi yolu nedir?
- 2. Jmeter'da en iyi yolu bulmanın en iyi yolu nedir?
- 3. ClickOnce dağıtımlarının oluşturulmasının en iyi yolu nedir
- 4. Bir animasyonu sürmenin en iyi yolu nedir?
- 5. Dosyayı sunucudan indirmenin en iyi yolu nedir
- 6. Kullanıcı bildirimlerini saklamanın en iyi yolu nedir?
- 7. Ember.js'de olayları işlemenin en iyi yolu nedir?
- 8. core.clj'yi kurmanın en iyi yolu nedir?
- 9. DateTime'ı çerezlere depolamanın en iyi yolu nedir?
- 10. Javascript yürütme işleminin en iyi yolu nedir?
- 11. php'de uluslararasılaşmanın en iyi yolu nedir?
- 12. Perl'de ekranı temizlemenin en iyi yolu nedir?
- 13. Süreyi saklamanın en iyi yolu nedir? MySQL
- 14. İç ürünleri oluşturmanın en iyi yolu nedir?
- 15. Gözlemlenebilir klonlamanın en iyi yolu nedir?
- 16. Basit sayılar tanımanın en iyi yolu nedir?
- 17. Nesneleri kapsayıcılarda paylaşmanın en iyi yolu nedir?
- 18. Denemekten kaçınmanın en iyi yolu nedir?
- 19. Kitaplığı zenginleştirmeyi en iyi yolu scala'da nedir?
- 20. Python'da HTML işlemenin en iyi yolu nedir?
- 21. en iyi yolu
- 22. MySQL kullanarak basit bir revizyon sistemi oluşturmanın en iyi yolu nedir?
- 23. Rust'ta bir yineleyiciden bir dilimi doldurmanın en iyi yolu nedir?
- 24. ReactJS'de bir dizideki bir nesneyi güncellemenin en iyi yolu nedir?
- 25. DynamoDB'de anahtarın en iyi yolu nedir (RDS'den NoSql'ye geçiş)
- 26. En yeni glibc gerektirmeyen yazılımlar oluşturmanın en iyi yolu nedir?
- 27. Kendi GPG/PGP parolanızı güçlendirmek için en iyi yolu kullanmanın en iyi yolu nedir?
- 28. Arka plan işlerini microservices mimarisinde tasarlamanın en iyi yolu nedir?
- 29. .NET'te dosya sistemi dallarını yeniden adlandırmanın (taşımanın) en iyi yolu nedir?
- 30. en iyi yolu?
Evet, masalarda yeni tablolar veya yeni sütunlar eklerseniz, tüm sistemi almam gerektiğinden korkuyorum. Cevabınız için teşekkürler, transform_table bir fonksiyon olduğunu bilmiyordum. –