Hub'lı arabirim sürümü oluşturma
Bu makalede, grenli arabirim sürümü oluşturma özelliğini kullanmayı öğreneceksiniz. Grain durumunun sürüm oluşturması kapsam dışında.
Genel bakış
Belirli bir kümede silolar, bir dilim türünün farklı sürümlerini destekleyebilir.
Bu örnekte, istemci ve Silo{1,2,3} , hub'lı arabirim A
sürüm 1 ile derlendi. Silo 4, sürüm 2 ile A
derlendi.
Sınırlamalar
- Durum bilgisi olmayan çalışanda sürüm oluşturma yok
- Akış arabirimleri sürümlenmemiş
Sürüm oluşturmayı etkinleştirme
Sürüm özniteliği açıkça tanecik arabirimine eklenmiyorsa, tanecikler varsayılan 0 sürümüne sahiptir. Grain arabiriminde VersionAttribute'u kullanarak sürüm dilimini kullanabilirsiniz:
[Version(X)]
public interface IVersionUpgradeTestGrain : IGrainWithIntegerKey
{
}
Burada X
, genellikle monoton olarak artan tanecik arabiriminin sürüm numarasıdır.
Grain sürüm uyumluluğu ve yerleşimi
Bir kümeye sürümlenmiş bir taneden gelen bir çağrı geldiğinde:
- Etkinleştirme yoksa uyumlu bir etkinleştirme oluşturulur
- Etkinleştirme varsa:
- Geçerli olan uyumlu değilse devre dışı bırakılır ve yeni uyumlu bir tane oluşturulur (bkz . sürüm seçici stratejisi)
- Geçerli olan uyumluysa (bkz . uyumlu tanecikler), çağrı normal şekilde işlenir.
Varsayılan olarak:
- Tüm sürümlenmiş taneciklerin yalnızca geriye dönük uyumlu olması gerekir (bkz . geriye dönük uyumluluk yönergeleri ve uyumlu tanecikler). Bu, v1 taneciklerinin v2 tanesine çağrı yapabildiği, ancak v2 tanelinin v1'i çağıramayacağı anlamına gelir.
- Kümede birden çok sürüm olduğunda, yeni etkinleştirme uyumlu bir siloya rastgele yerleştirilir.
Bu varsayılan davranışı aracılığıyla GrainVersioningOptionsdeğiştirebilirsiniz:
var silo = new HostBuilder()
.UseOrleans(c =>
{
c.Configure<GrainVersioningOptions>(options =>
{
options.DefaultCompatibilityStrategy = nameof(BackwardCompatible);
options.DefaultVersionSelectorStrategy = nameof(MinimumVersion);
});
});
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin