Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Orleans streaming, geliştiricilerin Orleans çerçevesinde bir dizi olayı yapılandırılmış bir şekilde işleyen reaktif uygulamalar yazmasına olanak tanıyan bir özelliktir. Orleans akış, akışları daha basit ve daha sağlam bir şekilde düşünmeye ve bunlarla çalışmaya olanak sağlayan bir dizi soyutlama ve API sağlar. Akış, her zaman var olan ve asla başarısız olmayacak mantıksal bir varlıktır. Akışlar StreamId ile tanımlanır. Akışlar, veri oluşturma işleminin hem zaman hem de alan açısından işlenmesinden ayrıştırılabilmesini sağlar. Akışlar tanecikler ve Orleans istemciler boyunca tekdüzen çalışır ve Event Hubs, ServiceBus, Azure Kuyrukları veya Apache Kafka gibi çok çeşitli mevcut sıralama teknolojileriyle uyumlu ve taşınabilir. Orleans Akış ayrıca dinamik akış bağlamalarını, saydam akış tüketimi yaşam döngüsü yönetimini ve genişletilebilir akış sağlayıcılarını destekler.
Orleans v.1.0.0, programlama modeline akış uzantıları desteği ekledi. Akış uzantıları, akışları daha basit ve daha sağlam bir şekilde düşünme ve akışlarla çalışmayı sağlayan bir dizi soyutlama ve API sağlar. Akış uzantıları, geliştiricilerin bir dizi olay üzerinde yapılandırılmış bir şekilde çalışan reaktif uygulamalar yazmasına olanak tanır. Akış sağlayıcılarının genişletilebilirlik modeli, programlama modelini Event Hubs, ServiceBus, Azure Kuyrukları ve Apache Kafka gibi çok çeşitli mevcut kuyruğa alma teknolojileriyle uyumlu ve taşınabilir hale getirir. Bu tür kuyruklarla etkileşime geçmek için özel kod yazmanız veya ayrılmış işlemler çalıştırmanız gerekmez.
Neden umursayım ki?
Akış İşleme hakkında her şeyi zaten biliyorsanız ve .NET'te Event Hubs, Kafka, Azure Stream Analytics, Apache Storm, Apache Spark Streaming ve Reaktif Uzantılar (Rx) gibi teknolojileri biliyorsanız, neden önem vermelisiniz diye soruyor olabilirsiniz. Neden başka bir Akış İşleme Sistemine ihtiyacımız var ve Aktörlerin Akışlarla ilişkisi nedir?"Neden Orleans Akışlar mı?" bu soruyu yanıtlamak içindir.
Programlama modeli
Streams Programlama Modeli'nin ardında Orleans birkaç ilke vardır:
- Orleans akışlar sanaldır. Başka bir ifadeyle, bir akış her zaman vardır. Açıkça oluşturulmaz veya yok edilmez ve hiçbir zaman başarısız olamaz.
- Akışlar, yalnızca GUID'lerden ve dizelerden oluşan mantıksal adlar olan akış kimlikleriyle tanımlanır.
- Orleans Akışlar , veri neslini hem zaman hem de alan açısından işlemesinden ayırmanıza olanak sağlar. Bu, akış üreticisinin ve akış tüketicisinin farklı sunucularda veya farklı saat dilimlerinde olabileceği ve hatalara dayanacağı anlamına gelir.
- Orleans akışlar basit ve dinamiktir. Orleans Streaming Runtime, yüksek hızda gelen ve giden çok sayıda akışı işleyecek şekilde tasarlanmıştır.
- Orleans akış bağlamaları dinamiktir. Orleans Streaming Runtime, taneciklerin akışlara yüksek hızda bağlandığı ve bağlantısının kesildiği durumları işlemek için tasarlanmıştır.
- Orleans Akış Çalışma Zamanı , akış tüketiminin yaşam döngüsünü şeffaf bir şekilde yönetir. Bir uygulama bir akışa abone olduktan sonra, hata durumunda bile akışın olaylarını alır.
- Orleans Akışlar , tahıllar ve Orleans istemciler arasında düzgün çalışır.
Hızlı başlangıç örneği
Hızlı Başlangıç Örneği, uygulamadaki akışları kullanmanın genel iş akışına iyi bir hızlı genel bakıştır. Okuduktan sonra, kavramları daha iyi anlamak için Streams Programlama API'lerini okumanız gerekir.
Akış sağlayıcıları
Akışlar çeşitli şekil ve formların fiziksel kanalları aracılığıyla gelebilir ve farklı semantiklere sahip olabilir. Orleans Akış, sistemde genişletilebilirlik noktası olan Stream Providers kavramı aracılığıyla bu çeşitliliği destekleyecek şekilde tasarlanmıştır.
Orleans çeşitli akış sağlayıcısı uygulamaları sağlar:
Orleans şu anda çeşitli sağlayıcı uygulamaları içerir:
- Doğrudan çağrılar kullanan ve yedekleme depolama sistemi olmayan Basit İleti (SMS),
- Azure Kuyrukları, iletileri depolamak için Azure Depolama Kuyrukları kullanan ve
- Azure EventHubs kullanan sistem Azure EventHubs'dir.
Daha fazla bilgi için bkz . Akış Sağlayıcıları.
Akış semantiği
Akış Aboneliği Semantiği:
Orleans Akışlar, Stream Aboneliği işlemleri için Sıralı Tutarlılığı garanti eder. Özellikle, bir tüketici bir akışa abone olduğunda, abonelik işlemini temsil eden işlem başarıyla çözümlendikten sonra Task , tüketici abone olduktan sonra oluşturulan tüm olayları görür. Ayrıca, StreamSequenceToken kullanarak geçmişteki rastgele bir noktadan abone olmanıza olanak tanıyan geri sarılabilir akışlar sağlar. Daha fazla bilgi için bkz Orleans . Akış sağlayıcıları.
Bireysel Akış Olayları Teslim Garantileri:
Tek tek olay teslim garantileri, tek tek akış sağlayıcılarına bağlıdır. Bazıları, yalnızca bir kez sunum (7.0 öncesi sürümlerde Orleans olarak bilinen Basit İleti Akışları (SMS) ve daha sonra Yayın Kanalı) sağlarken, diğerleri en az bir kez sunum (Azure Kuyruk Akışları gibi) sağlar. Tam olarak bir kez teslimi garanti edecek bir akış sağlayıcısı oluşturmak bile mümkündür.
Olay Teslim Siparişi:
Olay sırası belirli bir akış sağlayıcısına da bağlıdır. SMS akışlarında üretici, tüketici tarafından görülen olayların sırasını, yayımlama şeklini denetleyerek açıkça denetler. Azure Kuyruklarının kendisi hata durumlarında sırayı garanti etmediğinden, Azure Kuyruk akışları FIFO sırasını garanti etmez. Uygulamalar, akış teslimi sıralamalarını StreamSequenceToken kullanarak da denetleyebilir.
Akış uygulaması
Orleans Streams Uygulaması, iç uygulamaya üst düzey bir genel bakış sağlar.
Kod örnekleri
Akış API'lerinin bir dilim içinde nasıl kullanılacağına ilişkin daha fazla örneği SampleStreamingGrain.cs bulabilirsiniz.