Bagikan melalui


Orleans penyedia layanan streaming

Aliran dapat datang dalam berbagai bentuk dan bentuk. Beberapa aliran mungkin mengirimkan peristiwa melalui tautan TCP langsung, sementara yang lain mengirimkan peristiwa melalui antrean yang tahan lama. Jenis aliran yang berbeda mungkin menggunakan strategi batching yang berbeda, algoritma caching, atau prosedur pengendalian tekanan balik. Penyedia aliran adalah titik ekstensibilitas dalam Orleans Runtime Streaming yang memungkinkan Anda menerapkan berbagai jenis aliran, menghindari pembatasan pada aplikasi streaming hanya untuk sebagian dari pilihan perilaku tersebut. Poin ekstensi ini mirip dalam prinsipnya dengan Orleans penyedia penyimpanan.

Penyedia streaming Azure Event Hub

Azure Event Hubs adalah layanan penyerapan data real-time yang dikelola sepenuhnya yang mampu menerima dan memproses jutaan peristiwa per detik. Dirancang untuk menangani pemasukan data berkecepatan tinggi dan berlatensi rendah dari berbagai sumber serta pemrosesan lebih lanjut oleh banyak konsumen.

Event Hubs sering digunakan sebagai dasar arsitektur pemrosesan acara yang lebih besar, berfungsi sebagai "pintu depan" untuk jalur acara. Anda dapat menggunakannya untuk menyerap data dari berbagai sumber, termasuk umpan media sosial, perangkat IoT, dan file log. Salah satu manfaat utama Event Hubs adalah kemampuan untuk menskalakan secara horizontal untuk memenuhi kebutuhan bahkan beban kerja pemrosesan peristiwa terbesar. Ini juga sangat tersedia dan toleran terhadap kesalahan, dengan beberapa replika data didistribusikan di beberapa wilayah Azure untuk memastikan ketersediaan tinggi.

Paket NuGet Microsoft.Orleans.Streaming.EventHubs berisi penyedia stream Event Hubs.

Penyedia pengaliran Azure Queue (AQ)

Penyedia aliran Azure Queue (AQ) mengirimkan event melalui Azure Queues. Di sisi produsen, penyedia stream AQ mengantrekan peristiwa langsung ke Azure Queue. Di sisi konsumen, penyedia aliran AQ mengelola sekumpulan agen penarikan yang menarik peristiwa dari sekumpulan Azure Queues dan mengirimkannya ke kode aplikasi yang mengonsumsinya. Anda dapat menganggap agen penarik sebagai "layanan mikro" terdistribusi—komponen terdistribusi yang dipartisi, sangat tersedia, dan elastis. Agen penarik berjalan di silo yang sama yang menjadi host butiran aplikasi. Dengan demikian, tidak perlu menjalankan peran pekerja Azure terpisah untuk mengambil data dari antrean. Orleans Runtime Streaming sepenuhnya mengelola keberadaan agen penarikan, manajemen mereka, backpressure, menyeimbangkan antrean di antara mereka, dan menyerahkan antrean dari agen yang gagal ke agen lain. Ini semua transparan untuk kode aplikasi menggunakan aliran.

Microsoft.Orleans. Paket Streaming.AzureStorage NuGet berisi penyedia aliran penyimpanan Azure Queue.

Penghubung Antrean

Penyedia aliran yang berbeda yang mengirimkan acara melalui antrean tahan lama menunjukkan perilaku serupa dan bergantung pada implementasi serupa. Oleh karena itu, kami menyediakan ekstensibilitas PersistentStreamProvider generik yang memungkinkan Anda untuk menyambungkan berbagai jenis antrean tanpa menulis penyedia streaming yang sama sekali baru dari awal. PersistentStreamProvider menggunakan komponen IQueueAdapter yang mengabstraksi detail implementasi antrean tertentu serta menyediakan sarana untuk menambahkan dan menghapus antrean peristiwa. Logika di dalam PersistentStreamProvider menangani segala sesuatu yang lain. Penyedia Antrean Azure yang disebutkan di atas juga diimplementasikan dengan cara ini: ini adalah instans dari PersistentStreamProvider yang menggunakan AzureQueueAdapter.

Penyedia aliran pesan sederhana

Penyedia aliran pesan sederhana, juga dikenal sebagai peladen SMS, mengirimkan event melalui TCP menggunakan pesan grain reguler Orleans. Karena peristiwa SMS dikirimkan melalui tautan TCP yang tidak dapat diandalkan, SMS tidak menjamin pengiriman peristiwa yang andal dan tidak secara otomatis mengirim ulang pesan yang gagal untuk aliran SMS. Secara default, panggilan produsen untuk OnNextAsync mengembalikan Task yang mewakili status pemrosesan konsumen stream. Ini memberi tahu produsen apakah konsumen berhasil menerima dan memproses peristiwa. Jika tugas ini gagal, produsen dapat memutuskan untuk mengirim peristiwa yang sama lagi, mencapai keandalan di tingkat aplikasi. Meskipun pengiriman pesan streaming adalah upaya terbaik, aliran SMS itu sendiri dapat diandalkan. Artinya, pengikatan pelanggan ke produsen yang dilakukan oleh Pub-Sub sepenuhnya dapat diandalkan.

Lihat juga