2009-07-25 16 views

cevap

4

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.

+1

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. –

1

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.

İlgili konular