Failure Handling Using a Lambda DLQ (Dead Letter Queue)

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ •

  • @venky8230
    @venky8230 4 роки тому +4

    I enjoyed the clear and simple explanation! Thank you

  • @maksymo9917
    @maksymo9917 Рік тому

    Nice, we're just building an email notification service based on scanning of a dynamo table. Sending those through the SQS before they get to SES seems to be a good idea

  • @markemerson98
    @markemerson98 3 роки тому +1

    this is another great toot. any code examples to handle the SQS and SNS?

  • @TomerBenDavid
    @TomerBenDavid 5 років тому +2

    excellent best practice section 👌 I really liked that it's more theoretical and less example based so I can listen to it like it's a podcast while commuting to work. Combination of uploading both kinds of videos is perfect so if I want to learn more of the theoretical background I get these and if I need a specific example I go to the example video.

    • @BeABetterDev
      @BeABetterDev  5 років тому

      Thanks Tomer! I'm going to keep mixing it up with hands-on guides + overview/theoretical videos. Thanks again for your continued support.

  • @steviewonder5895
    @steviewonder5895 2 роки тому

    Great video. Do you by any chance have an example of a redrive lambda? Would be nice to look at it. Thank you.

  • @Slsnoow
    @Slsnoow 4 роки тому +4

    Hey, the info here is wrong for SQS. SQS with lambda doesn't use async invoke and Lambda is responsible for removing the message from the queue it polled on success. Failed messages remain in the SQS queue for some number of retries and then get sent to the SQS queue's DLQ, not the lambda's.

    • @BeABetterDev
      @BeABetterDev  4 роки тому

      Hi Jay, thanks for pointing this out. I'll pin it to the top once I confirm. Do you have any links to the documentation where this is stated?
      Thanks

    • @Slsnoow
      @Slsnoow 4 роки тому

      @@BeABetterDev Here's a link. If I am wrong please let me know btw :) Great vid. docs.aws.amazon.com/lambda/latest/dg/with-sqs.html

    • @zion495
      @zion495 4 роки тому +1

      @@Slsnoow You are right. The message remains on SQS but is invisible for as long as it is being processed if it's not able to be processed by the lambda. It becomes visible again (to other lambdas) based on a visibility timeout

  • @marcosmussio8599
    @marcosmussio8599 3 роки тому +1

    Pretty good explanation! But regarding the alarm you mentioned at the end of the video, If I set an alarm based on the amount of messages into DLQ, in case I pull of the messages and move them into the main queue, the DLQ size would be 0, but I don't know whether the error that caused the DLQ size increment was fixed or not. Thx.

    • @BeABetterDev
      @BeABetterDev  3 роки тому +2

      Hi Marcos,
      In this example, it depends on the different failure modes of your lambda and why it is throwing the exception in the first place. If the error is transient like a connection issue, it may be the case that re-driving the messages into the main queue will result in the message being successfully processed. However, if it was a permanent failure such as unexpected input, it would permanently fail. These errors should remain in the queue until purged or until a code change is put out to correct the issue.
      Hope this provided some clarity.

  • @ThijmenCodes
    @ThijmenCodes Рік тому

    Great video, clear explanation. Thanks.

  • @jean-louisgouwy
    @jean-louisgouwy 4 роки тому +2

    How do you handle FIFO event. I mean, you have 1 2 3 4 5 events. Your 1 2 3 event succeed. Then you have a problem (external call unreachable momentally), the event 4 fails several time. The event 4 is sent to DLQ. Then, the event 5 arrives, the system is back, the event 5 succeeds. How can we know if the event 4 need to be processed again or not ?

    • @maksymo9917
      @maksymo9917 Рік тому

      Do you need to rollback the previous events? If the fourth one fails you should be able to get it from DLQ

  • @okoroefe1527
    @okoroefe1527 2 роки тому

    Great video. Is it possible to setup a DLQ for a lambda with a selfmanaged kafka as trigger?

    • @BeABetterDev
      @BeABetterDev  2 роки тому

      Hi Okoro, I don't have much experience with Kafka :(

  • @nadaralpenidze9549
    @nadaralpenidze9549 3 роки тому +2

    There is some wrong information:
    1. You can't set up a DLQ for the SQS event trigger, since the trigger is poll-based (and therefore synchronous after the lambda polls the batch). You can set a DLQ on the SQS Queue. Other than that, awesome video.
    * Note: this also includes: Kinesis and DynamoDB Events - which are poll based
    Great video other than that

    • @BeABetterDev
      @BeABetterDev  3 роки тому +1

      Thanks for calling this out Nadar!

  • @Vector3Gaming
    @Vector3Gaming Рік тому

    Can lambda throttling be a reason for a message to go from an SQS queue to a dead letter queue?

  • @RaviKumar-oy5jq
    @RaviKumar-oy5jq 3 роки тому

    can we scan the DQL without reading the message ?

  • @rickharold7884
    @rickharold7884 3 роки тому

    Love lambda. Nice video

  • @seans9168
    @seans9168 5 років тому

    Good explanation, but I really look forward to to the examples as you have done in previous videos.

    • @BeABetterDev
      @BeABetterDev  5 років тому

      Thanks for the feedback Sean. I will be sure to include practical examples going forward.

    • @mateusz6876
      @mateusz6876 4 роки тому +1

      @@BeABetterDev Did you do some example?

  • @easyappscompany
    @easyappscompany 4 роки тому +1

    Best Regards From Mexico City. Manuel Silva

  • @sandipansarkar9211
    @sandipansarkar9211 2 роки тому

    finished watching

  • @EdwinTurner-f9i
    @EdwinTurner-f9i 2 місяці тому

    Jensen Land

  • @JessicaThomas-d3b
    @JessicaThomas-d3b 2 місяці тому

    25280 Kilback Valley