nats (Queue Groups)
اولین مقاله من در مورد nats هست
تو nats ما چیزی به اسم queue group داریم حالا این queue group چیه؟
در واقع این قابلیت رو به شما میده چندین subscriber عضو یک گروه بشن برای consume کردن پیام های یک subject
حالا این چه فایده ای داره؟
این کار باعث میشه nats به عنوان یک load balancer عمل کنه در واقع پیام های ایجاد شده به یکی از این subsciber ها برسه
حالا شما فکر میکنید کجا ها این مورد می تونه استفاده بشه؟
در نظر بگیرید یه سیستم push notification می خواهید ایجاد کنید
برای افزایش قابلیت اطمینان و مقیاسپذیری، میخواهید از چندین سرویسدهنده (Worker) برای پردازش این نوتیفیکیشنها استفاده کنید. اینجا است که Queue Group به کارتون میاد.
شما در queue group می تونید چندین subscriber برای یک group تعریف کنید که به یک subject خاص گوش میدن و وقتی چندین پیام ارسال میشه nats به عنوان load balancer پیام رو بین این subscriber ها پخش میکنه و از پردازش یک پیام توسط چندین subscriber جلوگیری میکنه.