Yazılım Mimarileri ve Tasarım Desenleri Üzerine

Azure Storage Serisi #8 – Azure Queue Storage ve Asp.NET Core İle Kullanımı

azure-storage

Merhaba,

Bu içeriğimizde Azure Storage Yazı Dizisinin sonuncu makalesi olan Azure Queue Storage üzerine konuşuyor olacağız.

Azure Queue Storage Nedir?

Azure Queue Storage, bir mesaj kuyruk sistemidir. Mesaj kuyruk sistemleri; uzun süren işlemlerin arka planda bir kuyruğa atılarak o kuyruğu dinleyen başka uygulamalar tarafından eşzamansız bir şekilde işlenmesini sağlayan yapılardır. Bknz: RabbitMQ

Azure Queue Storage’a gönderilen mesajın boyutu en fazla 64 KB olabilir. Her bir mesajın default ömrü 7 gündür. 7 gün sonrasında mesajlar otomatik silinir. Mesaj ömürlerini custom bir şekilde değiştirebilir yahut -1 değerini vermek kaydıyla ömür boyu kuyrukta tutabilirsiniz.

Azure Queue Storage Kavramları Nelerdir?


URL Format
Azure Queue Storage’da ki mesaj kuyruklarını aşağıdaki formatta endpoint ile url biçiminde temsil edebilirsiniz.
https://<account_name>.queue.core.windows.net/<queue_name>

Örneğin yukarıda paylaşılan şemadaki mesaj kuyruğunu şöyle temsil edebilirsiniz;
https://myaccount.queue.core.windows.net/images-to-download

Storage account
Azure Queue Storage, bir Azure Storega servisidir. Dolayısıyla tüm işlemler bir storage hesabı üzerinden gerçekleştirilir.

Queue
Bir dizi mesaj içeren yapıdır. Queue isimleri komple küçük harf olmalıdır.

Message
Herhangi bir formatta 64 KB’a kadar varan mesajlardır.

Visibility Özelliği(Görünürlük)

Bir kuyruğa verilen mesajın aynı anda birden fazla consumer(tüketici) tarafından tüketilmemesi için default 30 saniye kuyrukta görünmez olmasıdır. Dolayısıyla ilgili mesajı 30 saniye içerisinde işlemek gerekmekte aksi taktirde başka consumerlar’a görünür olacağından dolayı eşzamanlı olarak farklı bir consumer tarafından işlenebilir olacaktır. Buradaki işleme süresinin yapılacak işin boyutuna göre tutarlı bir şekilde verilmesine özen gösterilmelidir. Görünürlük süresine ‘Visibility Time Out‘ denmektedir ve maksimum 7 gün almaktadır.

Asp.NET Core İle Azure Queue Storage Kullanımı

Asp.NET Core ile Azure Queue Storage kullanımı için aşağıdaki adımları sırasıyla gerçekleştirmeniz yeterli olacaktır;

Bu işlemlerden sonra artık uygulamayı test etmek için derleyip, çalıştırabilirsiniz.

Test Edelim

Süreçte kuyruğu Azure portal üzerinden takip edebilmek için storage account’unuzdan ‘Queues’e ve onun da ardından ilgili kuyruğa tıklayınız.

Görüldüğü üzere… Kuyruktaki tüm mesajlar burada listelenmektedir.

İlgilenenlerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Not : Örnek projeyi indirmek için buraya tıklayınız.

Mobil sürümden çık