Aracılığıyla paylaş


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

Sıralı uygulama yükseltmesinde, yükseltme düğümlerin bir alt kümesine uygulanır ve her seferinde bir yükseltme etki alanı uygulanır. 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çiminizi oluşturan konular ele alınmaktadır ve verilerinizin ileri ve geri uyumlu olmasını sağlamaya yönelik en iyi yöntemler sunulmaktadır.

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 seri hale getirilebilir olması gerekir. Bu nedenle, veri biçimi hem seri hale getirilen alanlar ve özellikler hem de bunların nasıl seri hale getirildiği tarafından tanımlanır. Örneğin, bir IReliableDictionary<int, MyClass> veride serileştirilmiş ve serileştirilmiş intMyClassbir .

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 verilerin okunmasından ve veriler daha eski veya daha yeni bir sürümde olsa bile geçerli sürümde seri durumdan çıkarılır. 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 değildir. Veri serileştiricisi sıralı yükseltmeleri etkinleştirmede önemli bir rol oynar. Veri Sözleşmesi serileştiricisi, 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 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", kodunuzun çalışan 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.

Kodun 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 hata verebilir. Ö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 olması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ükseltme sorunlarını giderme makalesindeki adımlara başvurarak uygulama yükseltmelerindeki yaygın sorunları düzeltin.