Bu yazımda çok sayıda küçük boyutlu mesajı depolamamıza ve işlememize olanak sağlayan basit bir mesaj kuyruk sistemi olan Azure Queue Storage’dan bahsetmek istiyorum.
Öncelikle neden bu tür sistemlere ihtiyaç duyduğumuzdan bahsetmek gerekiyor. Mesaj kuyruk sistemlerinin amacı, bir kaynaktan alınan mesajı kuyruğa alıp başka bir kaynağa güvenli ve asenkron bir şekilde aktarmaktır. Asenkron özelliği, göndericinin ve alıcının aynı anda çevrimiçi olmasını gerektirmeyen bir yapı sağlar ve bu sayede sunucu maliyeti azaltılır. Azure Queue Storage ise Microsoft Azure’un bizlere sunduğu mesaj kuyruk sistemlerinden biridir.
Azure Queue Storage, bir Azure Storage servisi olup HTTP veya HTTPS protokolleri kullanılarak internet üzerinden çok sayıda mesajı bu depolamayı ve mesajlara ulaşmayı sağlar. Tek bir kuyruk mesajı en fazla 64 KB boyutunda olabilir ve bir kuyruk milyonlarca mesaj içerebilir. Genellikle asenkron olarak işlenecek bir mesaj listesi oluşturmak için kullanılır. Güvenilir ve ölçeklenebilir bir hizmet sağlar.
Azure Queue Storage’ın ne için kullanıldığını ve bize neler sağladığını öğrendik. Şimdi Azure Queue Storage kavramlarına bir göz atalım.
Resim – 1
Storage Account: Azure Queue Storage, bir Azure Storage servisi olduğundan dolayı işlemlerimizi gerçekleştirmek için bir storage hesabına ihtiyaç duyarız. Bir Storage Account içinde birden fazla queue (kuyruk) oluşturabiliriz. İlerleyen bölümlerde bir Azure Portal üzerinde nasıl storage hesabı oluşturabileceğimize değineceğiz.
Queue: Queue (kuyruk) yapısı, bir dizi mesaj içeren yapıdır ve bütün mesajlar bir kuyruk içinde bulunmalıdır. Kuyrukları adlandırırken uymamız gereken bazı standartlar mevcuttur:
- Kuyruk adı bir harf veya sayıyla başlamalıdır ve yalnızca harf, sayı ve tire (-) karakteri içerebilir.
- Kuyruk adındaki ilk ve son harfler alfanümerik olmalıdır. Tire (-) karakteri ilk veya son karakter olamaz. Kuyruk adında ardışık tire karakterlerine izin verilmez.
- Kuyruk adındaki tüm harfler küçük olmalıdır.
- Kuyruk adı 3 ile 63 karakter uzunluğunda olmalıdır.
Message: Yukarıda da bahsettiğimiz gibi bir kuyruk mesajı en fazla 64 KB boyutunda ve herhangi bir data tipinde olabilir. Bir mesajın kuyrukta kalabileceği maksimum süre 7 gün olmakla beraber 2017-07-29 veya sonraki sürümler için, bu süre herhangi bir pozitif sayı veya mesaj süresinin dolmadığını gösteren “-1” olarak belirlenebilir. Bu parametrenin atlandığı durumlarda bu süre default olarak 7 gündür.
URL Format: Kuyrukları, bu şekilde URL biçimi kullanılarak adresleyebiliriz:
http: // <storage account>.queue.core.windows.net /<queue>
Aşağıdaki URL, yukarıda gördüğümüz diyagramdaki incoming-orders isimli kuyruğu temsil eder:
http://myaccount.queue.core.windows.net/incoming-orders
İlk bölümde Azure Queue Storage’a dair temel bilgilere yer verdim. Sonraki bölümlerde bir storage hesabı oluşturmayı ve .NET üzerinde kuyruk işlemlerini ele alacağız.
Faydalı olması dileğiyle. 😊
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
https://docs.microsoft.com/en-us/azure/storage/queues/
https://docs.microsoft.com/en-us/rest/api/storageservices/naming-queues-and-metadata
TAGs: Azure storage, Azure storage queues, Azure storage queues nedir, azure depolama kuyruğu nedir