Eğitim
Modül
Orleans çerçevesinin ne olduğunu, sağlayabileceğiniz avantajları ve uygulamalarınızla nasıl tümleştireceğinizi öğrenin.
Bu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Orleans:
Orleans "aktör modeline" dayanır. Aktör modeli 1970'lerin başında oluşturulmuş ve artık temel bileşenidir Orleans. Aktör modeli, her aktörün bir durum parçasını ve buna karşılık gelen davranışı kapsülleyen basit, eşzamanlı, sabit bir nesne olduğu bir programlama modelidir. Aktörler zaman uyumsuz iletileri kullanarak birbirleriyle özel olarak iletişim kurar. Orleans özellikle aktörlerin kalıcı olarak var olduğu Sanal Aktör soyutlaması icat edilmiştir.
Not
Aktörler, sanal olarak her zaman var olan tamamen mantıksal varlıklardır. Bir aktör açıkça oluşturulamaz veya yok edilemez ve sanal varlığı, yürüten bir sunucunun başarısızlığından etkilenmez. Aktörler her zaman var olduğundan, her zaman adreslenebilirler.
Bu, Bulut çağı için yeni nesil dağıtılmış uygulamalar oluşturmaya yönelik yeni bir yaklaşımdır. Programlama Orleans modeli, özellikleri kısıtlamadan veya geliştiriciye kısıtlamalar getirmeden yüksek düzeyde paralel dağıtılmış uygulamalarla ilgili karmaşıklığı denetler.
Daha fazla bilgi için bkz Orleans. Microsoft Research aracılığıyla Sanal Aktörler . Sanal aktör bir tanecik olarak Orleans temsil edilir.
Tahıl birkaç Orleans ilkel öğeden biridir. Aktör modeli açısından tahıl, sanal bir aktördür. Herhangi bir Orleans uygulamada temel yapı taşı bir tanedir. Tanecikler, kullanıcı tanımlı kimlik, davranış ve durumu içeren varlıklardır. Bir dilimin aşağıdaki görsel gösterimini göz önünde bulundurun:
Taneli kimlikler, hub'ları çağırma için her zaman kullanılabilir hale getiren kullanıcı tanımlı anahtarlardır. Tahıllar diğer tanecikler veya herhangi bir sayıda dış istemci tarafından çağrılabilir. Her bir tanecik, aşağıdaki arabirimlerden birini veya daha fazlasını uygulayan bir sınıfın örneğidir:
Guid
tanecikler için işaretleyici arabirimi.Int64
tanecikler için işaretleyici arabirimi.string
tanecikler için işaretleyici arabirimi.Tahıllar, herhangi bir depolama sisteminde depolanabilen geçici veya kalıcı durum verilerine sahip olabilir. Bu nedenle, hub'lar uygulama durumlarını örtük olarak bölümleyerek otomatik ölçeklenebilirliği etkinleştirir ve hatalardan kurtarmayı basitleştirir. Tanecik etkinken tahıl durumu bellekte tutulur ve veri depolarında daha düşük gecikme süresine ve daha az yüke yol açar.
Hub'ların örneklemesi çalışma zamanı tarafından Orleans isteğe bağlı olarak otomatik olarak gerçekleştirilir. Bir süre kullanılmayan tanecikler, kaynakları boşaltmak için bellekten otomatik olarak kaldırılır. Bu, kararlı kimlikleri nedeniyle mümkündür ve bu da zaten belleğe yüklenmiş olsun veya olmasın tanecikleri çağırmaya olanak tanır. Bu, çağıranın belirli bir noktada hangi sunucuda bir tane örneği oluşturulduğunu bilmesi gerekmediğinden hatadan saydam kurtarma da sağlar. Tahıllar yönetilen Orleans bir yaşam döngüsüne sahiptir ve çalışma zamanı gerektiğinde tahılları etkinleştirme/devre dışı bırakma ve yerleştirme/bulmadan sorumludur. Bu, geliştiricinin tüm tanecikler her zaman bellekte gibi kod yazmasına olanak tanır.
Silo, ilkel bir Orleans örnektir. Silo bir veya daha fazla tane barındırıyor. Orleans Uygulamalar için programlama modelini uygulayan çalışma zamanıdır.
Genellikle, bir grup silo ölçeklenebilirlik ve hataya dayanıklılık için küme olarak çalışır. Küme olarak çalıştırıldığında silolar, çalışmayı dağıtmak ve hataları algılayıp kurtarmak için birbirleriyle koordine olur. Çalışma zamanı, kümede barındırılan taneciklerin tek bir işlem içinde gibi birbirleriyle iletişim kurmasını sağlar. Kümeler, silolar ve taneler arasındaki ilişkiyi görselleştirmeye yardımcı olmak için aşağıdaki diyagramı göz önünde bulundurun:
Yukarıdaki diyagramda kümeler, silolar ve taneler arasındaki ilişki gösterilmektedir. İstediğiniz sayıda kümeniz olabilir, her kümede bir veya daha fazla silo vardır ve her siloda bir veya daha fazla tane vardır.
Çekirdek programlama modeline ek olarak, silolar zamanlayıcılar, anımsatıcılar (kalıcı zamanlayıcılar), kalıcılık, işlemler, akışlar ve daha fazlası gibi bir dizi çalışma zamanı hizmetini içeren taneler sağlar. Daha fazla bilgi için bkz. Ne yapabilirim Orleans?
Web uygulamaları ve diğer dış istemciler, ağ iletişimini otomatik olarak yöneten istemci kitaplığını kullanarak kümedeki tanecikleri çağırır. İstemciler, kolaylık sağlamak için silolarla aynı işlemde birlikte barındırılabilir.
Orleans buluta özel uygulamalar oluşturmaya yönelik bir çerçevedir ve sonunda ölçeklendirmesi gereken .NET uygulamaları oluştururken dikkate alınmalıdır. kullanmak Orleansiçin görünen sonsuz yollar vardır, ancak aşağıdakiler en yaygın yollardan bazılarıdır; Oyun, Bankacılık, Sohbet uygulamaları, GPS izleme, Hisse senedi ticareti, Alışveriş sepetleri, Oylama uygulamaları ve daha fazlası. Orleans Microsoft tarafından Azure, Xbox, Skype, Halo, PlayFab, Gears of War ve diğer birçok iç hizmette kullanılır. Orleans çeşitli uygulamalar için kullanımı kolaylaştıran birçok özelliğe sahiptir.
Orleans bir isteği işlemeden önce durumun kullanılabilir olmasını ve tutarlılığının korunmasını sağlayan basit bir kalıcılık modeli sağlar. Taneciklerde birden çok adlandırılmış kalıcı veri nesnesi olabilir. Örneğin, bir kullanıcının profili için "profil" ve envanteri için "envanter" adlı bir profil olabilir. Bu durum herhangi bir depolama sisteminde depolanabilir.
Bir dilim çalışırken, okuma isteklerinin depolamaya erişmeden servis edilebilmesi için durum bellekte tutulur. Tahıl durumunu güncelleştirdiğinde çağrı IStorage.WriteStateAsync , yedekleme deposunun dayanıklılık ve tutarlılık açısından güncelleştirilmesini sağlar.
Daha fazla bilgi için bkz . Tahıl kalıcılığı.
Anımsatıcılar, tahıllar için dayanıklı bir zamanlama mekanizmasıdır. Bu veriler, tahıl şu anda etkinleştirilmemiş olsa bile gelecekteki bir noktada bazı eylemlerin tamamlanmasını sağlamak için kullanılabilir. Zamanlayıcılar, anımsatıcıların dayanıklı olmayan karşılığıdır ve güvenilirlik gerektirmeyen yüksek frekanslı olaylar için kullanılabilir.
Daha fazla bilgi için bkz . Zamanlayıcılar ve anımsatıcılar.
içinde Orleansbir tane etkinleştirildiğinde, çalışma zamanı bu dilimin hangi sunucuda (silo) etkinleştirildiğine karar verir. Buna tahıl yerleştirme denir.
içindeki Orleans yerleştirme işlemi tamamen yapılandırılabilir. Geliştiriciler rastgele, tercih edilen yerel ve yük tabanlı gibi kullanıma hazır yerleştirme ilkeleri arasından seçim yapabilir veya özel mantık yapılandırılabilir. Bu, tanelerin nerede oluşturulduğuna karar verirken tam esneklik sağlar. Örneğin, tahıllar, üzerinde çalışması gereken kaynaklara yakın bir sunucuya veya iletişim kuracakları diğer taneciklere yerleştirilebilir.
Daha fazla bilgi için bkz . Grain yerleşimi.
Üretim sistemlerini, özellikle durum bilgisi olan sistemlerde, değişiklikleri güvenli bir şekilde hesaplayan bir şekilde yükseltmek zor olabilir. Bunu hesaba eklemek için içindeki Orleans taneli arabirimler sürümü oluşturulabilir.
Küme, kümedeki silolar ve bu uygulamaların sürümleri üzerinde hangi tanecik uygulamalarının kullanılabilir olduğunu gösteren bir eşleme tutar. Bilgilerin bu sürümü, hub'lara çağrıları yönlendirirken yerleştirme kararları almak için yerleştirme stratejileriyle birlikte çalışma zamanı tarafından kullanılır. Ayrıca, sürümlenmiş bir dilimi güvenli bir şekilde güncelleştirmek için bu, farklı siloların farklı taneli uygulama kümelerine sahip olduğu heterojen kümeleri de etkinleştirir.
Daha fazla bilgi için bkz . Grain Versioning.
Durum bilgisi olmayan çalışanlar, özel olarak işaretlenmiş ve ilişkili bir duruma sahip olmayan ve aynı anda birden çok silo üzerinde etkinleştirilebilen tahıllardır. Bu, durum bilgisi olmayan işlevler için daha fazla paralellik sağlar.
Daha fazla bilgi için bkz . durum bilgisi olmayan çalışan taneleri.
Taneli çağrı filtresi, birçok tanecik için ortak olan mantıktır. Orleans hem gelen hem de giden aramalar için filtreleri destekler. Yetkilendirme, günlüğe kaydetme ve telemetri ile hata işleme filtrelerinin tümü yaygın olarak kabul edilir.
Meta veriler ve diğer bilgiler, istek bağlamı kullanılarak bir dizi istekle geçirilebilir. İstek bağlamı, dağıtılmış izleme bilgilerini veya kullanıcı tanımlı diğer değerleri tutmak için kullanılabilir.
Yukarıda açıklanan basit kalıcılık modeline ek olarak, taneciklerin işlem durumu olabilir. Birden çok tanecik, durumlarının en sonunda nerede depolandığına bakılmaksızın ACID işlemlerine birlikte katılabilir. içindeki Orleans işlemler dağıtılmış ve merkezi olmayan (merkezi işlem yöneticisi veya işlem koordinatörü yoktur) ve serileştirilebilir yalıtıma sahiptir.
İşlemler hakkında daha fazla bilgi için bkz . İşlemler.
Akışlar geliştiricilerin bir dizi veri öğesini neredeyse gerçek zamanlı olarak işlemesine yardımcı olur. Orleansakışlar yönetilir; bir dilim veya istemci yayımlamadan veya bir akışa abone olmadan önce akışların oluşturulması veya kaydedilmesi gerekmez. Bu, akış üreticilerinin ve tüketicilerinin birbirinden ve altyapıdan daha fazla ayrıştırılmasını sağlar.
Akış işleme güvenilirdir: Tahıllar denetim noktalarını (imleçler) depolayabilir ve etkinleştirme sırasında veya sonraki herhangi bir zamanda depolanan bir denetim noktasına sıfırlayabilir. Akışlar, verimliliği ve kurtarma performansını artırmak için iletilerin tüketicilere toplu teslimini destekler.
Akışlar, Azure Event Hubs, Amazon Kinesis ve diğerleri gibi hizmetleri kuyruğa alarak desteklenir.
Rastgele sayıda akış daha az sayıda kuyruğa katlanabilir ve bu kuyrukları işleme sorumluluğu küme genelinde eşit olarak dengelenmiş olur.
giriş videosuyla Orleansilgileniyorsanız aşağıdaki videoya göz atın:
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Eğitim
Modül
Orleans çerçevesinin ne olduğunu, sağlayabileceğiniz avantajları ve uygulamalarınızla nasıl tümleştireceğinizi öğrenin.