it-swarm.dev

SNS ke Lambda vs SNS ke SQS ke Lambda

Saya mencoba memahami apakah saya memerlukan SQS dalam alur kerja saya jika seseorang dapat membantu menjelaskan. Di aplikasi saya, ketika suatu tindakan diambil, ia mengirimkan informasi ke topik SNS yang meminta LAMBDA untuk melakukan pemrosesan. Ini bekerja dengan baik.

Ketika saya melakukan riset online, tampaknya orang-orang menggunakan SQS di tumpukan ini juga di mana SNS akan memberikan info tentang SQS dan kemudian SQS kemudian akan memanggil LAMBDA. 

Saya kira apa yang saya coba pahami adalah perlunya SQS dalam hal ini. Apa nilai yang ditambahkan atau dengan kata lain, apa yang saya kehilangan dengan memohon LAMBDA saya langsung dari SNS?

13
Saumil Shah

Satu-satunya keuntungan memiliki SQS di antara SNS dan Lambda adalah Mengolah Ulang . Asumsikan bahwa Lambda gagal untuk memproses peristiwa tertentu karena beberapa alasan (misalnya batas waktu atau kurangnya jejak memori), Anda dapat menambah batas waktu (hingga 5 menit maksimal) ) atau memori (hingga maksimal 1,5GB) dan mulai kembali polling Anda dan Anda dapat memproses ulang acara yang lebih lama.

Ini tidak akan mungkin dalam kasus SNS ke Lambda, di mana jika Lambda gagal acara hilang. Dan bahkan jika Anda mengkonfigurasi DLQ Anda masih harus membuat ketentuan untuk membacanya secara terpisah dan memproses pesan

Jadi jika acara Anda sangat penting dan Anda tidak ingin ketinggalan, maka pilihlah SNS - SQS - Lambda

Setelah mengatakan bahwa SQS tidak dapat memicu lambda seperti SNS. Anda harus melakukan polling SQS secara berkala

EDIT:

AWS mengumumkan SQS memicu dukungan Lambda pada tanggal 28 Juni 2018. Jadi tidak perlu lagi melakukan polling antrian secara berkala. Item baru ke SQS dapat memicu Lambda

18
Arafat Nalkhande

SQS tidak meminta Lambda. SQS tidak dapat meminta apa pun. Orang-orang yang menggunakan Lambda dengan SQS menjalankan Lambda pada pengatur waktu acara, seperti satu menit sekali, dan setiap kali fungsi itu dijalankan, polling SQS untuk melihat apakah ada pesan untuk diproses.

Jika Anda tidak perlu membuat antrian dan mencegah terlalu banyak fungsi Lambda berjalan bersamaan maka Anda tidak perlu sistem antrian seperti SQS.

3
Mark B

Anda sekarang dapat menggunakan SQS sebagai sumber acara 

AWS Lambda Menambahkan Layanan Antrian Sederhana Amazon ke Sumber Acara yang Didukung

2
alexs

Menambahkan ke jawaban @Arafat Nalkhande di sini adalah beberapa manfaat dari lambda SQS

  1. Dalam SQS kita dapat meletakkan delay , sehingga pesan diproses setelah beberapa waktu, mungkin berguna dalam skenario di mana data membutuhkan waktu untuk tersedia.

  2. SQS dapat berfungsi sebagai toko darurat, misalkan layanan hilir tidak tersedia, pesan dapat disimpan dalam sqs selama 15 hari.

1
best wishes