Apache Kafka: a Distributed Messaging System for Log Processing

Поделиться
HTML-код
  • Опубликовано: 22 янв 2025

Комментарии • 100

  • @gkcs
    @gkcs  Месяц назад +2

    Thank you for watching.
    Also, NEW EPISODE: interviewready.io/learn/system-design-course/building-an-ecommerce-app-1-to-1m/7-the-case-of-the-expensive-cache

  • @kidkool27
    @kidkool27 Месяц назад +11

    Wow I was just out of college when I first found your channel.
    I’m a fresh senior now preparing for interviews, great video!

    • @gkcs
      @gkcs  Месяц назад +2

      Glad to read this, cheers!

  • @tayyabachowdary1007
    @tayyabachowdary1007 Месяц назад +1

    Have been following you since long and i am so impressed with the consistency and humility. Yoir explanations are simple and you seem like a college mate we are getting to learn from.thanks for all the free content

    • @gkcs
      @gkcs  Месяц назад

      Cheers!

  • @sunnykumarsingh7039
    @sunnykumarsingh7039 11 дней назад

    Such a simple yet elegant video Gaurav!

  • @sarwajeetbharti2856
    @sarwajeetbharti2856 7 дней назад

    Great Explanation with lovely animation !Thanks Gaurav Bhai !

  • @WinnersDontWin
    @WinnersDontWin Месяц назад +2

    Been trying to study this for the best to weeks, and this is by far the best youtube on the topic

    • @gkcs
      @gkcs  Месяц назад

      Thank you!

  • @ashutoshsamantaray6596
    @ashutoshsamantaray6596 Месяц назад +37

    zookeeper is no longer used in the latest version of kafka. The newer version is Kraft using consensus protocol among brokers. Makes it more scalable

    • @gkcs
      @gkcs  Месяц назад +10

      Yes, they use RAFT now 😁

    • @FakeDumbDummy
      @FakeDumbDummy 12 дней назад

      way better than zookeeper for managing live clusters...

  • @SaiBharatBatchu
    @SaiBharatBatchu Месяц назад +2

    It’s a great video. It covered the features of kafka well. I feel the way you explain a problem and explain how to overcome it might not be obvious to the listeners that kafka automatically takes care of these.
    For eg, you said multiple consumers might consume a message from the same influencer topic leading to notification duplication, and you explained consumer grouping as the solution to it. But you might have missed to explain that it is not actually possible, any extra consumers more than one active on a partition sits idle and kafka takes care of it automatically. Viewers might think that as some inherent problem with kafka and they would be required to handle it. Apart from these minor things the video is very good. Thanks for making it!

    • @gkcs
      @gkcs  Месяц назад

      Thank you!

  • @NikhilKumar-oy7mx
    @NikhilKumar-oy7mx Месяц назад +3

    I have worked on sqs n sns but this helped me understand that concept
    Thanks a lot 🎉🎉

    • @gkcs
      @gkcs  Месяц назад +1

      Cheers!

  • @Engineerhoon
    @Engineerhoon Месяц назад +40

    I haven’t received my Amazon delivery yet. What might be the possible reason?

    • @sommukherjee2582
      @sommukherjee2582 Месяц назад +19

      @@Engineerhoon someone in Amazon must have missed a # in Amazon code

    • @gkcs
      @gkcs  Месяц назад +36

      Sorry are you sure you are on the right video?

    • @e.l.5402
      @e.l.5402 Месяц назад +13

      @@gkcs kafka must have lost the order event

    • @noah-sheldon
      @noah-sheldon Месяц назад

      @@gkcs haha

    • @aayushnarayanofficial
      @aayushnarayanofficial Месяц назад +3

      A missing #

  • @TheCodingChamelion
    @TheCodingChamelion Месяц назад +1

    Tomorrow is exam and this video was saviour for the kafka topic

  • @varunv2088
    @varunv2088 Месяц назад +1

    Awesome! The best kafka internal architecture video

  • @ikaaika3155
    @ikaaika3155 6 дней назад

    Man thanks for sharing this

  • @prakharsinha4145
    @prakharsinha4145 27 дней назад

    awsm explanation bhaiya!... understood every bit!

    • @gkcs
      @gkcs  27 дней назад

      Cheers!

  • @satyamjha68
    @satyamjha68 Месяц назад

    Amazing video as always! Really informative!

    • @gkcs
      @gkcs  Месяц назад

      Thank you!

  • @rajkumar-in3sk
    @rajkumar-in3sk 6 дней назад

    6:58 If I remember correctly, ZooKeeper uses the Zab (ZooKeeper Atomic Broadcast) protocol instead of Paxos for consensus. Starting with version 2.8, Kafka no longer relies on ZooKeeper for leader election. Instead, it uses KRaft (Kafka Raft), Kafka’s implementation of the Raft consensus algorithm, for managing metadata and coordination internally.

  • @bharathraj4196
    @bharathraj4196 Месяц назад

    Intresting bro looking forward to work in Kafka... Soon i am going to complete my HTML class 🎉

  • @sojanmathew5875
    @sojanmathew5875 Месяц назад +1

    Hi @gkcs, it looks Kafka partition leader handles both read & write.
    Write Acknowledgments: The level of acknowledgment (acks) from the leader to the producer depends on the producer configuration:
    acks=0: The producer does not wait for acknowledgment.
    acks=1: The producer waits for acknowledgment only from the leader.
    acks=all: The producer waits for acknowledgment from all in-sync replicas (ISR).
    [ Read ] Consistency: For strict consistency, consumers can be configured to only read from committed offsets (data replicated to all in-sync replicas).
    Also newer version of Kafka (2.8 onwards) introduced KRaft (Kafka Raft) as replacement for Zookeeper to simplify operations & system design.

    • @gkcs
      @gkcs  Месяц назад

      Ah, lots of improvements over the 2011 paper I see. Thank you for sharing them!

  • @RR-zg5rd
    @RR-zg5rd Месяц назад

    you are amazing brother!

  • @raunaksingh8913
    @raunaksingh8913 Месяц назад

    Very well explained

  • @kryptu
    @kryptu Месяц назад

    very useful , Thanks Gaurav

  • @girishanker3796
    @girishanker3796 Месяц назад

    Great video 🤜🤛

    • @gkcs
      @gkcs  Месяц назад

      Thank you :D

  • @sudipmandal2497
    @sudipmandal2497 Месяц назад

    Thanks again for a great video.

    • @gkcs
      @gkcs  Месяц назад

      Thank you!

  • @random_color_lemon
    @random_color_lemon Месяц назад

    Nice explanation.
    Thanks!

    • @gkcs
      @gkcs  Месяц назад

      You are welcome!

  • @dhruva_kashyap
    @dhruva_kashyap Месяц назад +4

    1) Why do you call yourself gkcs
    2) These new videos you upload, do you add them to your system design course as well? (I have enrolled and I am trying to figure out if your course is enough, or if I need to watch the videos as well)
    Great video as always btw 😁

    • @gkcs
      @gkcs  Месяц назад +1

      1. It stands for General Knowledge Counter Strike. It was my cs handle in college, and it stuck with the RUclips channel :D
      2. We typically go into more depth at InterviewReady with the research papers. We dive into the papers as a group during the live zoom sessions. You can see the recordings here:
      interviewready.io/learn/system-design-course/scaling-memcached-at-facebook/november---memcached-reading
      Thank you!

    • @dhruva_kashyap
      @dhruva_kashyap Месяц назад

      ​@@gkcsthank you for taking the time to respond :) I'll surely check it out, all the best!!

    • @debasishphukon2314
      @debasishphukon2314 Месяц назад

      I asked the first same question years ago, I initially thought it was General Knowledge Computer Science.
      @gkcs put up a poll after that If I remember correctly, and then I got to know the real full form

  • @puneetkumarsingh1484
    @puneetkumarsingh1484 Месяц назад

    At 5:36, why didn't the message no. 4 get replicated to the other partitions after it was received?? That way, when middle kafka broker would receive 5, everything would remain consistent

    • @FakeDumbDummy
      @FakeDumbDummy 12 дней назад

      that was just a problem scenario for explaining possible data inconsistency which doesn't happen ...
      if you set acks to leader or min sync replicas to 1 this can still happen

  • @riturajsrivastava9242
    @riturajsrivastava9242 Месяц назад

    Great thanks Gaurav Sen

  • @prof_as
    @prof_as Месяц назад

    thankyou absolute amazing

  • @biswaasen
    @biswaasen 17 дней назад

    I can use redis as a quque, also there is rabbitmq, why is it better to use kafka?

  • @cugansteamid6252
    @cugansteamid6252 Месяц назад

    Thanks Gaurav!

  • @aj.arunkumar
    @aj.arunkumar 9 дней назад

    You said kafka uses paxos, but isn't zookeeper atomic broadcast used ?

  • @kartiksachdeva3
    @kartiksachdeva3 Месяц назад

    The timing of this video is like it was made for me :P

    • @gkcs
      @gkcs  Месяц назад

      Cheers!

  • @kaustubhdixit8278
    @kaustubhdixit8278 Месяц назад

    This is gold...

    • @gkcs
      @gkcs  Месяц назад

      Thank you!

  • @chandrashekark5382
    @chandrashekark5382 Месяц назад

    Well explained, I’m a Frontend developer and heard people talking about Kafka so this helps me to be part of discussion. Also, can you complete the Application cache box at 13:18. It triggered my OCD 😂

    • @gkcs
      @gkcs  Месяц назад

      Hahhaha 😁

  • @SuperJikks
    @SuperJikks Месяц назад

    I see you have mentioned multiple time that kafka consumer reads from replicas. But I guess this is incorrect, both producer and consumer only interact with leader at any point of time. Can you confirm this?
    You are right where you mentioned "Consumer consume message only once they are replicated to all the replicas" but still they consume only from leader replicas

  • @sasiiqoobackup
    @sasiiqoobackup Месяц назад

    can you make videos in dark mode?, it's too bright🐱, the board and animation also white?

  • @gpkarnik
    @gpkarnik Месяц назад

    Is it true that zero copy does not work when SSL/TLS encryption is enabled?

    • @gkcs
      @gkcs  Месяц назад

      stackoverflow.com/questions/58651562/how-to-best-address-the-adverse-impact-of-ssl-encryption-on-zero-copy-optimizati

  •  Месяц назад +1

    1. What if consumer itself crashes?
    2. Will the consumer wait for the write to be replicated across all replicas of the partition?

    • @gkcs
      @gkcs  Месяц назад +2

      1. It will restart and start pulling messages from it's previous offset.
      2. The consumer must wait for the write to be replicated across all partitions (that's the high water mark). It will not find the new messages till they have been replicated.

  • @Goaboyz
    @Goaboyz Месяц назад +1

    Is the kafka replicas internally that way or the user need to configure it as a system design?

    • @gkcs
      @gkcs  Месяц назад

      They are that way, and can be configured by the admin.

  • @saliyamchekka7070
    @saliyamchekka7070 Месяц назад

    Why don’t you continue to finish the Kafka course?

    • @gkcs
      @gkcs  Месяц назад +1

      I have a course at InterviewReady on System Design. Do check it out :D

  • @ashpreetsinghanand7260
    @ashpreetsinghanand7260 Месяц назад

    We can also use rabbitMq

  • @Clma333
    @Clma333 Месяц назад

    This was such an insightful video! I really enjoyed the part about kafka . It reminded me of a video series I recently made on S3 buckets, where I dive deeper into core concept of S3 buckets like replication,storage tiers. If anyone’s interested, feel free to check it out - I’d love to hear your thoughts!

    • @gkcs
      @gkcs  Месяц назад

      Thank you!

    • @Clma333
      @Clma333 Месяц назад

      @@gkcs Thank you sir , I have learned so much from you.
      trying out to make my own niche

  • @TheHardikupadhyay87
    @TheHardikupadhyay87 Месяц назад

    is it same like rabbitmq and redis? what is the difference?

    • @bytebgmigaming5704
      @bytebgmigaming5704 16 дней назад

      @@TheHardikupadhyay87 rabit mq is kind of same but it has different qualities and use cases

    • @priyalvyas2091
      @priyalvyas2091 14 дней назад

      redis is used for cache and not as message queue

    • @swarupcodes
      @swarupcodes 13 дней назад +1

      @@TheHardikupadhyay87 Yes but it’s pull based and not push based like rmq.

  • @sivaguru671
    @sivaguru671 Месяц назад

    Zookeeper works like eureka server?

    • @gkcs
      @gkcs  Месяц назад

      Have a look at the third point here: github.com/Netflix/eureka/wiki/FAQ

  • @Md_sadiq_Md
    @Md_sadiq_Md Месяц назад +2

    15:05 money money money 🤑

    • @gkcs
      @gkcs  Месяц назад +1

      I can feel the cash through the screen :P

  • @avparadox
    @avparadox Месяц назад

    Present Sir

    • @gkcs
      @gkcs  Месяц назад

      :D

  • @mehulgoyal6255
    @mehulgoyal6255 Месяц назад

    Videos topic is great but i feel there is not a very good explanation to a fresher who watch it very first time

  • @himankshu
    @himankshu Месяц назад +1

    what were you doing before speaking for the video ?! 😂

    • @aviiiiiiiiiiiiiiiiiiii
      @aviiiiiiiiiiiiiiiiiiii Месяц назад

      Exactly, I had to pause the video to make sure it wasn't me having a sudden heartbeat rise.😂

    • @gkcs
      @gkcs  Месяц назад +2

      I was staring creepily at the camera.

    • @himankshu
      @himankshu Месяц назад

      @@gkcs some design flaw in the system 😂😂

  • @srinivasanranganathan2436
    @srinivasanranganathan2436 Месяц назад

    Gourav Sen is captioned as god of sin 😂

  • @shivambansal5572
    @shivambansal5572 22 дня назад

    you seem like a fan of Suniel Shetty

  • @agnelodsouza3396
    @agnelodsouza3396 21 день назад

    Your name was spelled as God of Sin in the transcript 😂😂

    • @gkcs
      @gkcs  21 день назад

      Now it's turned into an Easter Egg :P