Aracılığıyla paylaş


Veri serileştirme bir uygulama yükseltmesini nasıl etkiler?

Sıralı uygulama yükseltmesinde yükseltme, düğümlerin bir alt kümesine uygulanır ve bir kerede bir yükseltme etki alanı. Bu işlem sırasında bazı yükseltme etki alanları uygulamanızın daha yeni sürümünde, bazı yükseltme etki alanları ise uygulamanızın eski sürümündedir. Dağıtım sırasında uygulamanızın yeni sürümünün verilerinizin eski sürümünü okuyabilmesi ve uygulamanızın eski sürümünün verilerinizin yeni sürümünü okuyabilmesi gerekir. Veri biçimi ileri ve geri uyumlu değilse yükseltme başarısız olabilir veya daha kötüsü veriler kaybolabilir veya bozulabilir. Bu makalede veri biçiminizin ne olduğu açıklanır ve verilerinizin ileri ve geri uyumlu olmasını sağlamaya yönelik en iyi yöntemler sunulur.

Veri biçiminizi oluşturan nedir?

Azure Service Fabric'te kalıcı olan ve çoğaltılan veriler C# sınıflarınızdan gelir. Reliable Collections kullanan uygulamalar için bu veriler güvenilir sözlüklerdeki ve kuyruklardaki nesnelerdir. Reliable Actors kullanan uygulamalar için bu, aktörün yedekleme durumudur. Bu C# sınıflarının kalıcı ve çoğaltılması için serileştirilebilir olması gerekir. Bu nedenle, veri biçimi, seri hale getirilmiş alanlar ve özelliklerle ve bunların nasıl seri hale getirildiğiyle tanımlanır. Örneğin, bir IReliableDictionary<int, MyClass> veride serileştirilmiş ve serileştirilmiş int MyClassbir .

Veri biçimi değişikliğine neden olan kod değişiklikleri

Veri biçimi C# sınıfları tarafından belirlendiğinden, sınıflarda yapılan değişiklikler veri biçimi değişikliğine neden olabilir. Sıralı yükseltmenin veri biçimi değişikliğini işleyebileceğinden emin olmak için dikkatli olunmalıdır. Veri biçimi değişikliklerine neden olabilecek örnekler:

  • Alan veya özellik ekleme veya kaldırma
  • Alanları veya özellikleri yeniden adlandırma
  • Alan veya özellik türlerini değiştirme
  • Sınıf adını veya ad alanını değiştirme

Varsayılan seri hale getirici olarak Veri Sözleşmesi

Seri hale getirici genellikle veriler eski veya daha yeni bir sürümde olsa bile verileri okumak ve geçerli sürüme seri durumdan çıkarmaktan sorumludur. Varsayılan seri hale getirici, iyi tanımlanmış sürüm oluşturma kuralları olan Veri Sözleşmesi seri hale getiricidir. Güvenilir Koleksiyonlar seri hale getiricinin geçersiz kılınmasına izin verir, ancak Reliable Actors şu anda geçersiz kılmaz. Veri serileştiricisi, sıralı yükseltmelerin etkinleştirilmesinde önemli bir rol oynar. Veri Sözleşmesi seri hale getiricisi, Service Fabric uygulamaları için önerdiğimiz seri hale getiricidir.

Veri biçimi sıralı yükseltmeyi nasıl etkiler?

Sıralı yükseltme sırasında seri hale getiricinin verilerinizin daha eski veya daha yeni bir sürümüyle karşılaşabileceği iki ana senaryo vardır:

  1. Bir düğüm yükseltildikten ve yedeklemeye başladıktan sonra, yeni seri hale getirici eski sürüm tarafından diske kalıcı olan verileri yükler.
  2. Sıralı yükseltme sırasında küme, kodunuzun eski ve yeni sürümlerinin bir karışımını içerir. Çoğaltmalar farklı yükseltme etki alanlarına yerleştirilebileceği ve çoğaltmaların birbirine veri gönderdiğinden, verilerinizin yeni ve/veya eski sürümü seri hale getiricinizin yeni ve/veya eski sürümüyle karşılaşılabilir.

Not

Buradaki "yeni sürüm" ve "eski sürüm", çalışan kodunuzun sürümüne başvurur. "Yeni seri hale getirici", uygulamanızın yeni sürümünde yürütülen seri hale getirici kodunu ifade eder. "Yeni veriler", uygulamanızın yeni sürümünden seri hale getirilmiş C# sınıfını ifade eder.

Kod ve veri biçiminin iki sürümü hem ileri hem de geri uyumlu olmalıdır. Uyumlu değilse sıralı yükseltme başarısız olabilir veya veriler kaybolabilir. Sıralı yükseltme başarısız olabilir çünkü kod veya seri hale getirici diğer sürümle karşılaştığında özel durumlar veya bir hata oluşturabilir. Örneğin, yeni bir özellik eklendiyse ancak eski seri hale getirici seri durumdan çıkarma sırasında atarsa veriler kaybolabilir.

Veri Sözleşmesi, verilerinizin uyumlu olduğundan emin olunmasını sağlamak için önerilen çözümdür. Alanları eklemek, kaldırmak ve değiştirmek için iyi tanımlanmış sürüm oluşturma kuralları vardır. Ayrıca bilinmeyen alanlarla ilgilenme, serileştirme ve seri durumdan çıkarma işlemine bağlanma ve sınıf devralma ile ilgilenme desteğine sahiptir. Daha fazla bilgi için bkz . Veri Sözleşmesini Kullanma.

Sonraki adımlar

Visual Studio Kullanarak Uygulamanızı Yükseltme, Visual Studio kullanarak uygulama yükseltme işleminde size yol gösterir.

PowerShell Kullanarak Uygulamanızı Yükseltme, PowerShell kullanarak uygulama yükseltme işleminde size yol gösterir.

Yükseltme Parametrelerini kullanarak uygulamanızın yükseltme şeklini kontrol edin.

Gelişmiş Konular'a başvurarak uygulamanızı yükseltirken gelişmiş işlevleri kullanmayı öğrenin.

Uygulama Yükseltmelerinde Sorun Giderme makalesindeki adımlara başvurarak uygulama yükseltmelerindeki yaygın sorunları düzeltin.