Bir geliştirici, Amazon SQS standart kuyruğundan gelen mesajları işlemek için AWS Lambda kullanan bir mikro hizmet oluşturdu. Lambda işlevi, harici API'leri çağırarak her SQS mesajını zenginleştirir ve ardından verileri bir Amazon Redshift tablosuna yazar. Kuyruk saniyede 1.000 mesaja kadar desteklemelidir. Test sırasında, yinelenen SQS mesajları işlendiği için Redshift tablosuna tekrar tekrar yinelenen satırlar eklendi; tüm yinelenen mesajlar birbirini takip eden 1 dakika içinde kuyruğa alındı. Geliştirici bu sorunu nasıl çözmelidir?
Bir cevap seçin
Cevabınızı kontrol etmek için bir seçeneğe dokunun.
Doğru cevap: Bir SQS FIFO kuyruğuna geçin ve bu FIFO kuyruğunda mesaj tekilleştirmeyi etkinleştirin..
Neden bu cevap
Doğru cevap, SQS FIFO kuyruğuna geçmek ve mesaj tekilleştirmeyi etkinleştirmektir. FIFO (First-In, First-Out) kuyrukları, mesajların tam olarak bir kez işlenmesini sağlar ve mesaj tekilleştirme özelliği ile belirli bir tekilleştirme aralığı içinde aynı içerikli mesajların tekrar işlenmesini engeller. Sorun, yinelenen SQS mesajlarının Redshift'e yinelenen satırlar eklemesi olduğundan, FIFO kuyruğunun tekilleştirme yetenekleri bu sorunu doğrudan çözer. Diğer seçenekler neden yanlış: Lambda işlevi için maksimum eşzamanlılığı düşürmek, mesajların işlenme hızını azaltır ancak yinelenen mesaj sorununu çözmez. Lambda'nın geçici yerel depolama alanını (/tmp) kullanmak, Lambda'nın durumsuz yapısı nedeniyle güvenilir bir tekilleştirme çözümü değildir; farklı Lambda örnekleri farklı depolama alanlarına sahip olacaktır. Standart SQS kuyrukları mesaj grubu kimliklerini desteklemez ve mesaj tekilleştirme özelliği sunmaz; bu özellikler yalnızca FIFO kuyruklarına özgüdür.
Sonsuz cevap arayışı olmadan sınavınızı geçin
Bu sınav için her doğrulanmış soruyu ve açıklamayı tek bir yerde edinin ve saatlerce süren hazırlıktan tasarruf edin. 1.000'den fazla sertifika · 20'den fazla dil · ücretsiz başlayın.
Sınavınızı daha hızlı geçin → Kart gerekmez