Kafka Error Handling with Spring Boot | Retry Strategies & Dead Letter Topics | JavaTechie

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ม.ค. 2025

ความคิดเห็น •

  • @dheereshsingh6415
    @dheereshsingh6415 9 หลายเดือนก่อน +6

    i got interviewed today and DLT been asked, now my concept is absolutely clear, thanks for this amazing stuff 😍😍

  • @yogeshchaudhari9971
    @yogeshchaudhari9971 9 หลายเดือนก่อน +3

    Exceptional....eas never knowing about DLT ...... really made my day with feeling that i learned something new today....i anyways always keep watching many of ur posted vidoes.... thanks for ur efforts for sharing ur knowledge

    • @Javatechie
      @Javatechie  9 หลายเดือนก่อน +1

      Glad that it helps you. Keep learning 😃

  • @vino7tech
    @vino7tech 10 หลายเดือนก่อน +2

    Another real time video from you sir. Thank so much sir for your hard works

  • @augustineanosike741
    @augustineanosike741 10 หลายเดือนก่อน +3

    Great work , exactly what i have been looking for , thanks a lot for the hard work in bringing this tutorial .

  • @AvinashKumar-d1i1p
    @AvinashKumar-d1i1p 5 หลายเดือนก่อน +1

    This guy literally explains everything in very simple way 👍

  • @EkundayoBlessing
    @EkundayoBlessing 2 หลายเดือนก่อน +1

    Thank you so much for your great work. I completed this series!

  • @GunelMammadova93
    @GunelMammadova93 9 หลายเดือนก่อน +1

    Thanks a lot for these amazing tutorials! I learned a lot from your videos.

  • @gopisambasivarao5282
    @gopisambasivarao5282 10 หลายเดือนก่อน +1

    Appreciate your efforts Basant. God bless you❤😊every week waiting for new updates…

  • @satyabratasahoo967
    @satyabratasahoo967 10 หลายเดือนก่อน +4

    Another scenario is: why not to wait for the external service to wake up so that we can resume the processing. This way we can avoid one drawback of the earlier approach. which is as follow:
    for one entity we got error and we pushed it to dlt. but we got another message for the same entity and this was processed successfully. now when the dlt msgs will be processed, this will update the entity as per previous data which will create data inconsistency.
    Waiting for the service to wake up will ensure two things.
    1. safe guard the chronology of the events
    2. no unnecessary consumption and retry and then publishing to dlt.
    This is my observation. I would like to hear from you on this. Thank you sir.

    • @Javatechie
      @Javatechie  10 หลายเดือนก่อน

      Good observation and agree with you 🙂

    • @karthikeyanrm3446
      @karthikeyanrm3446 10 หลายเดือนก่อน +1

      Please continue the interview series. Waiting for so long ​@@Javatechie

    • @Javatechie
      @Javatechie  10 หลายเดือนก่อน +1

      I really appreciate your interest and I will continue buddy that I need enough time for presentation and pieces of code so please help me to help you out .

    • @sivadara5677
      @sivadara5677 10 หลายเดือนก่อน +2

      Hi Satya the data inconsistency scenario you are telling when consumer related resources are unavailable but I believe DLT error topics are usually helpful to investigate / analyse the root cause for failure messages like NPE, Array indexOutOfMemory etc..not for reprocessing the DLT messages again.

  • @phanimc11211
    @phanimc11211 10 หลายเดือนก่อน +1

    Thanks a lot on good work ! As usual this video is always informative and practical

  • @Mronline-xyz
    @Mronline-xyz 10 หลายเดือนก่อน +1

    Excellent content... As always, thanks alot Sir.. ,👍🏻

  • @suvarnabg1056
    @suvarnabg1056 2 หลายเดือนก่อน +1

    thank you sir for your clear explanation. ..

  • @manindersingh6371
    @manindersingh6371 5 หลายเดือนก่อน

    Hi Brother: Nice video! The way you explained everything is exceptional. Keep up the great work! However, I encountered an issue where I couldn't send the message to the DLQ until I threw an error in the catch block. The existing blocking didn't trigger it, so it didn't work for me. I'm sharing this in case it helps someone with a similar problem. Also, please consider using docker-compose for Kafka in future videos.
    Code I changed:
    Instead of "e.printstackTrace" in catch block, I used "throw e";

  • @sahilpatil1111
    @sahilpatil1111 10 หลายเดือนก่อน +4

    Hello, please make video on Spring Boot Hexagonal Architecture, lot of company's are using as modern development, i struggle a lot still don't understand entire structure.

    • @Javatechie
      @Javatechie  10 หลายเดือนก่อน +2

      Okay sure i will do that

  • @Naresh-i3u
    @Naresh-i3u 10 หลายเดือนก่อน +1

    tq bro for ur videos providing good knowledge to us and i have questions which aske in recent ineterview asked what are locks in spring ,where u have used singleton pattern in ur project, and idempotent and hope u will provide answer for this questions

    • @Javatechie
      @Javatechie  9 หลายเดือนก่อน

      All your doubts are already answered in the QA series video.

  • @KuchNahiBasAiseHi
    @KuchNahiBasAiseHi 10 หลายเดือนก่อน +1

    Great work sir. Thanks again

  • @nikhilkakade7022
    @nikhilkakade7022 9 หลายเดือนก่อน +2

    thank you sir for your clear explanation. I have one question here why we are creating multiple retry topics here although we already have DLT topic to track the failure message.
    Can't we reuse the same topic for retry?

    • @Javatechie
      @Javatechie  9 หลายเดือนก่อน +2

      Yes we can override this behaviour but needs to check this configuration

    • @chandramadanakari4265
      @chandramadanakari4265 3 หลายเดือนก่อน

      😢😅😮😂

  • @m4riders
    @m4riders 4 หลายเดือนก่อน +1

    Sir ji ki jai ho 🙏

  • @NagaMahesh-y1u
    @NagaMahesh-y1u 4 หลายเดือนก่อน +1

    Hello. Thank you for your clear explanation. When i tired in my local machine with the Retry and DLT mentioned configurations with the spring Boot 3.3.2 + kafka(In built version 3.7.1) version the excepted output is not working. Can you please help me on that.

    • @Javatechie
      @Javatechie  4 หลายเดือนก่อน

      Naga can you please connect over javatechie4u@gmail.com

    • @nagamahesh6474
      @nagamahesh6474 4 หลายเดือนก่อน

      Sure I will share the piece of code in the mail

  • @atulgoyal358
    @atulgoyal358 3 หลายเดือนก่อน +1

    @basant, please make video what is partition key and how will data process producer to partition.

    • @Javatechie
      @Javatechie  3 หลายเดือนก่อน

      I already explained this please checkout my kafka Playlist

  • @krishnamohanmazumdar946
    @krishnamohanmazumdar946 2 หลายเดือนก่อน +1

    What do we do with this DLT list of data, do we address them manually or any standard solutions to perform in real time prod projects?

    • @Javatechie
      @Javatechie  2 หลายเดือนก่อน

      You can fix and republish

    • @krishnamohanmazumdar946
      @krishnamohanmazumdar946 2 หลายเดือนก่อน +1

      @@Javatechie Thanks for quick response

  • @Deepakblg97
    @Deepakblg97 10 หลายเดือนก่อน

    Thanks a lot sir from bangalore ❤🙏

  • @antonythomas9413
    @antonythomas9413 7 หลายเดือนก่อน

    Great work❤

  • @CenturionDobrius
    @CenturionDobrius 10 หลายเดือนก่อน +1

    Thanks a lot on good work !

  • @sujaninekkanti6176
    @sujaninekkanti6176 9 หลายเดือนก่อน +1

    Hi Basanth, if possible can you please make a video on message delivery semantic like only once, atmost once, atleast once and how to avoid duplicate messages and consumer side if application is running on 2 to 3 pods. Thankyou!

    • @Javatechie
      @Javatechie  9 หลายเดือนก่อน

      It's a good suggestion thanks will plan it

  • @riteshmallik3588
    @riteshmallik3588 9 หลายเดือนก่อน +1

    what happened to DLT-topic when exception record is recorded inside it ? Do programmer need to manually retry from this topic or it is taken care by Kafka?

    • @pushp3593
      @pushp3593 7 หลายเดือนก่อน

      @javatechie i have same question

    • @Javatechie
      @Javatechie  7 หลายเดือนก่อน

      No you need to create another publish method to check record from DLT and process it with existing flow . But before that you need to identify why its failed first time If it's steal data then you need to discard those failed events and re process others

  • @muralipallapu7577
    @muralipallapu7577 12 วันที่ผ่านมา

    @Javatechie how to process messages in DLT ?
    do we need another consumer to process messages from DLT?
    how Kafka knows whether the message is processed or not?

  • @santhu8525
    @santhu8525 2 หลายเดือนก่อน +1

    great bro awesome

  • @DeeptiPrakashMohapatra
    @DeeptiPrakashMohapatra 25 วันที่ผ่านมา +1

    once message pushed to DLT topic, how we can reprocess those failed events if needed ?

    • @Javatechie
      @Javatechie  25 วันที่ผ่านมา

      You need to pull and republish then

  • @PrasenjitSunanda
    @PrasenjitSunanda 28 วันที่ผ่านมา +1

    please explain duplicate message for kafka consumer

  • @sumitsaurav4033
    @sumitsaurav4033 หลายเดือนก่อน

    as we know db throughput is comparatively low in such sceneario how can we balance consumer throughput as per db?

  • @mardukvassili
    @mardukvassili 8 หลายเดือนก่อน +1

    Hey guys, I need to implement a retries when producing to Kafka and its related tests. Do you have references to accomplish this?

    • @Javatechie
      @Javatechie  8 หลายเดือนก่อน +1

      I don't have video on it but the solution is straight forward you can use spring retry directly in your producer code

    • @mardukvassili
      @mardukvassili 8 หลายเดือนก่อน

      @@Javatechie thank you for answering. I had done multiple tries but I always struggle with the test classes. At the end I stayed with producer configuration retries suggested by Kafka but still got no lucky with tests

  • @m4riders
    @m4riders 4 หลายเดือนก่อน +1

    Sir ji ki jai ho

  • @ILuvBilli
    @ILuvBilli 5 หลายเดือนก่อน +1

    Nice, but why you are using Producer and Consumer separately, if we use KafkaStream then it will automatically handle both scenarios

    • @Javatechie
      @Javatechie  5 หลายเดือนก่อน

      Not getting you buddy could you please add some more inputs

  • @mardukvassili
    @mardukvassili 8 หลายเดือนก่อน

    Do you have an explanation for publisher retries?

  • @WalrusEggman-v2w
    @WalrusEggman-v2w 2 หลายเดือนก่อน

    Hey thanks for the video! So we have topic called for example, "myTopic" and a DLT set up like this "myTopic.DLT". It is my undertsanding that kafka will just add "-DLT" to the end of your topic name is that correct? and if so is there a way to make it add ".DLT" instead? It was a another team that named them so we have to work around that.

  • @rishiraj2548
    @rishiraj2548 10 หลายเดือนก่อน +1

    Great thanks

  • @divergentinsights4823
    @divergentinsights4823 8 หลายเดือนก่อน +1

    Is the implementation and configuration same for Kafka producer ?

    • @Javatechie
      @Javatechie  8 หลายเดือนก่อน

      No for the producer it's different

    • @divergentinsights4823
      @divergentinsights4823 8 หลายเดือนก่อน

      @@Javatechie can u please suggest/advise me how to do for producer part ?

  • @pradeepk6722
    @pradeepk6722 5 หลายเดือนก่อน

    whats the difference between part1 and part2 of apache kafka course.can someone please let me know?

  • @2RAJ21
    @2RAJ21 3 หลายเดือนก่อน

    Thank you

  • @AjitKumar-jj3bw
    @AjitKumar-jj3bw 2 หลายเดือนก่อน

    Hi Sir, Could you please share the CSV file as well in the github link? Thank you in advance.

  • @tejastipre9787
    @tejastipre9787 10 หลายเดือนก่อน

    Sir if my kafka is down if I pushed message to the consumer and using retrieval method i retry till 15mt and when kafka is start in between of 15mt so it will work?

    • @Javatechie
      @Javatechie  10 หลายเดือนก่อน

      Yes in the first attempt only the consumer listens because check in consumer properties we have defined fetch type earliest

    • @tejastipre9787
      @tejastipre9787 10 หลายเดือนก่อน

      Is there any retry in producer like comsumer?

    • @Javatechie
      @Javatechie  10 หลายเดือนก่อน

      @@tejastipre9787 hello yes we can implement spring retry in producer side as well

    • @tejastipre9787
      @tejastipre9787 10 หลายเดือนก่อน

      Thnq i did.
      but now my problem is if i push message from producer and i will hold execution using debug and then when I shutdown kafka and realise the debug then i started kafka again so kafka producer try to push message continuously and when i started kafka message also produced but in this case consumer does not recived these messages and error comes in console.

  • @d.ramesh1224
    @d.ramesh1224 9 หลายเดือนก่อน +1

    great

  • @shrirangjoshi6568
    @shrirangjoshi6568 10 หลายเดือนก่อน +1

    pelase add this in a playlist

    • @Javatechie
      @Javatechie  9 หลายเดือนก่อน

      It is there in Kafka playlist

  • @lenhhoxung4741
    @lenhhoxung4741 10 หลายเดือนก่อน

    why you don't use kraft

  • @m4riders
    @m4riders 4 หลายเดือนก่อน +1

    Sir ji ki jai ho 🙏