Kafka Delivery Semantics | At-Least-Once, At-Most-Once & Exactly-Once

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ธ.ค. 2024

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

  • @dm4945
    @dm4945 2 ปีที่แล้ว

    Awesome video man. Keep up the good work. Lots of love and support. ♥️

    • @irtizahafiz
      @irtizahafiz  2 ปีที่แล้ว

      Thank you! Will do! Appreciate it.

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

    IT would certainly be helpful to also understand in which scenarios each of these would be used. For example, at-least once maybe in a payment service (idempotency handled appropriately), at-most once (comments for a post) etc..

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

      I appreciate the feedback. Will work on it.

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

    Very clear, thank you!

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

      Great to hear!

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

    Excellent video

  • @gmmkeshav
    @gmmkeshav ปีที่แล้ว +1

    What is the advantage of keeping three types
    At-most once, at-least once, and exactly once
    cant we have exactly once only?

    • @nSiLEtan
      @nSiLEtan ปีที่แล้ว +2

      It's to optimize performance, sometimes you can give up accuracy in favor of higher throughput. Exactly once has the lowest throughput of all 3 options, so you should only choose it if you need your data to be super accurate.

    • @irtizahafiz
      @irtizahafiz  ปีที่แล้ว +1

      ++ to everything said here. Thank you!

    • @gmmkeshav
      @gmmkeshav ปีที่แล้ว

      And how do we do cost estimation?@@irtizahafiz

  • @mahmudultushar7660
    @mahmudultushar7660 2 ปีที่แล้ว

    Hey thanks for the regular uploading. It would be great if you can make videos on job scheduler, and live coding platforms like hacker rank.

    • @irtizahafiz
      @irtizahafiz  2 ปีที่แล้ว

      Hi! I added this to my content backlog. Can't promise anything soon though. Thank you for watching! : )

  • @JardaniJovonovich192
    @JardaniJovonovich192 2 ปีที่แล้ว +1

    Any real-world examples of when one would use 'Atmost once'?

    • @irtizahafiz
      @irtizahafiz  2 ปีที่แล้ว +1

      It totally depends on the application tbh. Off the top of my head, I can't think of any.
      "At-least-once" is the most common one in my opinion.

    • @muddassirbari
      @muddassirbari ปีที่แล้ว

      maybe when you're consuming access logs for real-time analysis, when the delivery of all the message is not obligatory.

    • @Maxhsynv
      @Maxhsynv ปีที่แล้ว +1

      Say you're collecting the location coordinates of some objects moving on the map in each second (e.g. taxi cars on Uber, airplanes flying from one location to another). So you can choose "At-most-once" because it's okay to loose some coordinate data in between some seconds and also you need a high throughput in such scenarios.

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

      Bit late too the show, but think about a banking application, having 700€ on the account, and due to a bug 600€ are requested twice. The server will in case of a second duplicate request still reply with an ACK.

  • @basheedahmed1662
    @basheedahmed1662 2 ปีที่แล้ว

    What is the default delivery method in Kafka if there is any ?

    • @irtizahafiz
      @irtizahafiz  2 ปีที่แล้ว

      I believe it's "at-least-once". But you can easily configure it to whatever you like.

  • @ayeshasiddiki916
    @ayeshasiddiki916 2 ปีที่แล้ว

    So helpful

  • @ayushsolanki4248
    @ayushsolanki4248 ปีที่แล้ว

    message can be delivered more than once, but we have idempotency due to which we don't have to accept duplicate message. It gives once processing. You are giving misinformation

    • @irtizahafiz
      @irtizahafiz  ปีที่แล้ว +2

      I think the point is that you have to ensure idempotency to guarantee "exactly-once".
      Or, you can use Kafka Transactional API, you can read about www.baeldung.com/kafka-exactly-once

  • @dansinn
    @dansinn 2 ปีที่แล้ว

    Good