AWS - تفاوت بین SQS و SNS

SQS (سرویس صف ساده) در مقابل SNS (سرویس اطلاع رسانی ساده) در AWS (خدمات وب آمازون)

SNS و SQS

SNS (سرویس اطلاع رسانی ساده)

SNS

SNS خدمات اطلاع رسانی ساده آمازون (آمازون SNS) یک سرویس اطلاع رسانی فشار سریع ، قابل انعطاف و کاملاً مدیریت شده است که به شما امکان می دهد پیام های فردی را ارسال کنید یا به تعداد زیادی پیام گیرنده ارسال کنید. Amazon SNS ارسال اعلان های فشار به کاربران دستگاه های تلفن همراه ، گیرندگان ایمیل یا حتی ارسال پیام به سایر سرویس های توزیع شده ، کار ساده و مقرون به صرفه را انجام می دهد.

یک سیستم توزیع مشترک مشترک. پیام ها به مشترکان فشار می آورند و هنگامی که توسط ناشران به SNS ارسال می شوند ، SNS از چندین نقطه پایانی مانند ایمیل ، اس ام اس ، نقطه پایان http و SQS پشتیبانی می کند. اگر می خواهید تعداد و نوع مشترکین را برای دریافت پیام دریافت کنید ، به SNS نیاز دارید.

با استفاده از Amazon SNS ، می توانید اعلانات فشار را به دستگاههای Apple ، Google ، Fire OS و Windows و همچنین دستگاههای Android در چین با Baidu Cloud Push ارسال کنید. می توانید از SNS برای ارسال پیامک به کاربران دستگاه های تلفن همراه در ایالات متحده یا برای گیرندگان ایمیل در سراسر جهان استفاده کنید.

SNS یک سیستم توزیع اشتراک مشترک است. پیام ها به عنوان مشترک و هنگامی که توسط ناشران به SNS ارسال می شوند ، فشار می یابد.

SQS (سرویس صف ساده)

SQS

SQS سیستم صف بندی توزیع شده است. پیام ها به گیرنده ها فشار نیافته است. گیرندگان برای دریافت پیام ها باید SQS را نظرسنجی کنند. پیام ها را نمی توان توسط چندین گیرنده به طور همزمان دریافت کرد. هر گیرنده می تواند یک پیام دریافت کند ، پردازش و حذف کند. سایر گیرنده ها بعداً همان پیام را دریافت نمی کنند. نظرسنجی ذاتاً برخی تأخیرها را در ارسال پیام در SQS بر خلاف SNS ارائه می دهد که پیام ها بلافاصله به مشترکان فشار وارد می شوند.

SQS به طور عمده برای جدا کردن برنامه ها یا ادغام برنامه ها استفاده می شود. پیام ها می توانند در مدت زمان کوتاه (حداکثر 14 روز) در SQS ذخیره شوند. SNS چندین نسخه از پیام را به چندین مشترک توزیع می کند. به عنوان مثال ، به شما اجازه می دهد داده های تولید شده توسط یک برنامه را در چندین سیستم ذخیره سازی تکرار کنید. می توانید از SNS استفاده کنید و این داده ها را به مشترکین مختلف ارسال کنید ، هرکدام پیام هایی را که به سیستم های ذخیره سازی مختلف (s3 ، دیسک سخت روی میزبان ، پایگاه داده و غیره) دریافت می کند ، تکرار می کند.

SNS از چندین نقطه پایانی مانند ایمیل ، sms ، نقطه پایان http و SQS پشتیبانی می کند. اگر می خواهید تعداد و نوع مشترکین را برای دریافت پیام دریافت کنید ، به SNS نیاز دارید.

در زیر برخی از تفاوت ها:

نوع شخص

  • SQS: Queue (مشابه JMS)
  • SNS: موضوع (سیستم Pub / Sub)

مصرف پیام

  • SQS: Pull Mechanism - نظرسنجی از مصرف کنندگان و ارسال پیام از SQS
  • SNS: Push Mechanism - SNS پیامها را به مصرف کنندگان هل می دهد

از Case استفاده کنید

  • SQS: جدا کردن دو برنامه و اجازه پردازش همزمان ناهمزمان
  • SNS: Fanout - به معنای اجازه دادن به همان پیام به چندین روش پردازش می شود

ماندگاری

  • SQS: پیام ها برای مدت زمان (تنظیم) ادامه دارد و هیچ مصرف کننده ای در دسترس نیست
  • SNS: بدون پشتکار. هر کدام از مصرف کنندگان در زمان ورود پیام حضور داشته باشند ، پیام را دریافت کرده و پیام حذف می شوند. اگر هیچ مصرف کننده ای در دسترس نباشد ، پیام از بین می رود.

یعنی در SQS تحویل پیام تضمین شده است اما در SNS چنین نیست.

نوع مصرف کننده

  • SQS: همه مصرف کنندگان قرار است یکسان باشند و از این رو پیام ها را به همان روش پردازش می کنند
  • SNS: همه مصرف کنندگان در حال پردازش پیام ها به روش های مختلف هستند

برنامه های نمونه

  • SQS: چارچوب شغل. جایی که مشاغل به SQS ارسال می شود و مصرف کنندگان در انتهای دیگر می توانند کارها را بصورت ناهمزمان پردازش کنند. و اگر فرکانس کار افزایش یابد ، می توان تعداد مصرف کنندگان را برای پردازش موازی افزایش داد
  • SNS: پردازش تصویر. اگر شخصی تصویری را در S3 بارگذاری کرد ، آن تصویر را علامت گذاری کنید ، یک تصویر کوچک ایجاد کنید و همچنین یک ایمیل ThankYou ارسال کنید. در این حالت S3 می تواند اعلان را به موضوع SNS ارسال کند و 3 مصرف کننده می توانند به موضوع SNS وصل شوند. 1 علامت تصویری را نشان می دهد ، 2 تصویر کوچک ایجاد می کند و 3 مورد نیز یک ایمیل ThankYou ارسال می کند. همه آنها پیام مشابه (URL تصویر) را دریافت می کنند و به طور موازی پردازش مربوطه خود را انجام می دهند.

لازم نیست همیشه SNS و SQS را با هم جفت کنید. علاوه بر SQS ، می توانید پیام های ارسال پیام کوتاه به ایمیل ، sms یا نقطه پایان http را برای SNS ارسال کنید. مزایای اتصال SNS با SQS وجود دارد. ممکن است شما نمی خواهید یک سرویس خارجی برای برقراری ارتباط با هاست خود داشته باشید (فایروال ممکن است تمام اتصالات ورودی به میزبان شما را از خارج مسدود کند). نقطه پایانی شما ممکن است به دلیل حجم زیاد پیام ها بمیرد. ایمیل و پیامک شاید انتخاب شما برای پردازش سریع پیامها نباشد. با اتصال SNS با SQS ، می توانید پیام های خود را با سرعت دریافت کنید. این اجازه می دهد تا مشتریان به صورت آفلاین ، تحمل در برابر خرابی های شبکه و میزبان باشند. شما همچنین می توانید تحویل تضمینی را بدست آورید. اگر SNS را برای ارسال پیام به نقطه انتهای http یا ایمیل یا پیامک پیکربندی کنید ، چندین عدم موفقیت در ارسال پیام ممکن است منجر به کاهش پیام شود.

SQS بیشتر برای جدا کردن برنامه ها یا ادغام برنامه ها استفاده می شود. پیام ها می توانند در مدت زمان کوتاه (حداکثر 14 روز) در SQS ذخیره شوند. SNS چندین نسخه از پیام را به چندین مشترک توزیع می کند. به عنوان مثال ، اجازه دهید بگوییم که می خواهید داده های ایجاد شده توسط یک برنامه را در چندین سیستم ذخیره سازی تکرار کنید. می توانید از SNS استفاده کنید و این داده ها را به مشترکین مختلف ارسال کنید ، هرکدام پیام هایی را که به سیستم های ذخیره سازی مختلف (s3 ، دیسک سخت روی میزبان ، پایگاه داده و غیره) دریافت می کند ، تکرار می کند.

مبارک مبارک !!!