Apache Kafka Crash Course

Поділитися
Вставка

КОМЕНТАРІ • 604

  • @hnasr
    @hnasr  3 роки тому +19

    Check out my fundamentals of Database Engineering udemy course with over 20 hours of deep database systems lectures. Head to database.husseinnasser.com for a discount coupon. Link redirects to udemy with coupon applied.

    • @markyoshikawa4278
      @markyoshikawa4278 Рік тому +2

      I love it and the way it’s presented! Will announce on LinkedIn when I get my cert. Thanjs for putting this together!

  • @_sr
    @_sr 3 роки тому +160

    27:28 answer:
    Every broker on a Kafka cluster is also named a Bootstrap Server. All brokers have the metadata required for the clients (producer or consumer) to discover brokers. When a client connects to one of the brokers (which are already configured as bootstrap servers in the Kafka configuration) it makes a "metadata request". The response includes information about topics, partitions, leader brokers, etc. Once the client gets this info, then - in the case of a producer- it makes the write request directly to the leader broker for that specific partition.

    • @hakimbencella4242
      @hakimbencella4242 2 роки тому +2

      Thanks for the explanation

    • @matejlaskomulej
      @matejlaskomulej 2 роки тому +5

      This should be pinned. Thank you!

    • @HarshJain-lk8cw
      @HarshJain-lk8cw 2 роки тому +7

      if all the brokers maintain this metadata then what's the role of zookeeper.

    • @boobalangnanasekaran3381
      @boobalangnanasekaran3381 2 роки тому +14

      @@HarshJain-lk8cw The use of zookeeper is that only one leader is there for a partition at any given time by using some kind of lock registry.

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

      This should be pinned. Thanks!

  • @jithin_zac
    @jithin_zac 3 роки тому +69

    I always got demotivated by the complexity I experienced when I tried to learn this on my own but this one is a gem. I know it might have taken a lot of learning and experience for you to explains this in a simple manner Nevertheless thank you for sharing your knowledge!

    • @hnasr
      @hnasr  3 роки тому +10

      Thank you Jithin! And Remember to ask in the community to get access to the slides if you would like to since you are a member❤️

  • @satalkar
    @satalkar 4 роки тому +57

    I rarely comment on videos but this was genuinely one of the best computer science tutorials I've ever seen!

    • @hnasr
      @hnasr  4 роки тому +5

      Thank you Anish for taking the time to write this appreciate you!

  • @MrMubashirAli
    @MrMubashirAli Рік тому +3

    I just wanted to express my heartfelt appreciation for the amazing Kafka crash course, Your dedication to simplifying complex topics shines through, and I can't thank you enough for making Kafka so much easier to understand.

  • @manishbolbanda9872
    @manishbolbanda9872 2 роки тому +2

    i had to deal with Kafka in one of my project, so searched for some tutorials, As soon as I saw that you have made a video on this, i had a sense of relief that i dont have to worry about the resource atleast. Thanks for all your efforts man.

  • @bokilsbk23
    @bokilsbk23 6 місяців тому +2

    Great tutorial as always. Literally a crash course fit into about an hour. Has everything to get started with kafka, especially because of the hands on.

  • @crypto-saiyan9283
    @crypto-saiyan9283 2 роки тому +1

    Today i understood, its not the subject its the way of teaching...thanks for sharing this wonderful knowledge

  • @ershad003
    @ershad003 Рік тому +6

    Sweeeeet... did not feel like a tutorial, but like a friendly chat between deeply connected friends, every word makes clear sense. Kept me engaged every second till the end, yes I made to the end. Well done Sire... 👏👏👏

  • @johnshaheen3862
    @johnshaheen3862 4 роки тому +2

    professionalism + enthusiasm + enjoyment + wonderful content= Hessein Nasser

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

      John Shaheen you make me blush John 😊 thanks !!

  • @a.yashwanth
    @a.yashwanth Рік тому

    You explain by answering all the questions people get when learning a topic. Most tutorials just explain concepts.

  • @hnasr
    @hnasr  5 років тому +22

    Course Table of Content time codes: (EDIT you should also see youtube chapters)
    Download slides here
    payhip.com/b/Y0Cq
    Kafka Broker: 2:32
    Kafka Producer: 5:39
    Kafka Consumer : 7:11
    Kafka Partitions : 8:34
    Queue vs Pub/Sub 12:50
    Consumer Group 16:47
    ZooKeeper 23:06
    Example 29:45
    Kafka Pros & Cons 1:02:48
    Summary: 1:17:00
    Example time codes
    Spin up Zookeeper 31:37
    SPin up Kafka 34:00
    Connect to Kafka (40:30)
    Create Kafka Topic (45:30)
    Create a Producer (49:44)
    Create a Consumer (55:24)
    Final test (1:00:00)

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

    Made it to the end, now gonna implement the backend of a texting app using Kafka

  • @danuzonez
    @danuzonez 5 років тому +15

    Another perfect tutorial. Everything is explained very nicely. Thanks for making Kafka easy to understand in this tutorial.

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

      Atif Ali thanks Atif for your support! Happy I could make such complex topic easy to absorb.. still I didnt cover all what kafka has to offer! Cheers

  • @alexsiuwh
    @alexsiuwh 8 місяців тому

    this is the only tutorial i found that go in the depth and details of a pro should know , and i can compare Kafka with other messaging system like JMS and MQ. Thanks so much for sharing👍👏🙏

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

    Made it to the enddddd ... I know how kafka works “at least before witching this tutorial “ but after this tutorial many things become clear to me ... Thanks a lot

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

      ❤️❤️❤️ روعه!

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

      @@hnasr هههههههههههه اسعدتني في بداية يومي

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

    Not only the content, but the way you say it, and your enthusiasm, is something else. You sir deserve all the best, because you are, with no doubt, in the better's shelf..

  • @DestinyAmbakederemo
    @DestinyAmbakederemo Рік тому +1

    This is well detailed even for a beginner, I completely understand whats going on. Brilliant content.

  • @HirschDaniel
    @HirschDaniel 2 місяці тому

    Thanks, I feel like I learned everything I need to know about Apache Kafka from this video. Sure, there are more advanced concepts. But this is the essence.

  • @zmm1337
    @zmm1337 4 роки тому +182

    how do you only have 23k subs?? you're so good at explaining difficult concepts, tysm!

  • @mikejeffery8371
    @mikejeffery8371 4 роки тому +16

    This was an awesome tutorial. You're incredibly good at explaining things and keeping people engaged when consuming so much information.

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

    Dude, I made it to the End. You kept us engaged throughout. I have soo much to learn about Comp Sci!

  • @luqmansen
    @luqmansen 4 роки тому +2

    I just watched your RabbitMQ crash course and at the end of the video you mention how Kafka better at some point, then I bumped into this great video. Very clear explanation, love your video!

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

      Luqman S thanks Luqman! Each software its use cases, I think RabbitMQ Is trying to be more than it really is (a message queue) where as kafka was designed to be a pub/sub and a message queue. If your app needs a queue and a pub/sub (or maybe streaming) than Kafka . If you just need a queue RabbitMQ is the way to go and kafka will be an overkill I think..
      I would even consider zeromq as a lightweight mq..
      Good luck!

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

    thank you, this video was a great intro to understand what kafka is and how it works for a complete noob :)
    here is a docker-compose.yml that starts your two ontainers in case anybody wants to use that to go through your examples. basically i just took your two lines and converted them to compose.
    version: '3'
    services:
    zookeeper:
    image: zookeeper
    restart: always
    ports:
    - "2181:2181"
    kafka:
    image: confluentinc/cp-kafka
    restart: always
    ports:
    - "9092:9092"
    environment:
    KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
    KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://localhost:9092'
    KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: '1'
    another addon: create a copy of consumer.js and edit the group name.. start that in parallel with the two consumer.js processes which then demonstrates pub sub behavior.
    i write all this one and a half hour after not even knowing what the difference between a queue and pub sub is and what kafka and zookeeper are :) .. this just shows how good this tutorial was :)

  • @NickLeenknecht
    @NickLeenknecht 3 роки тому +6

    Answer to - 27:25 - The producer sends a Metadata request with a list of topics to one of the brokers in the broker-list you supplied when configuring the producer. The broker responds with a list of partitions in those topics and the leader for each partition. The producer caches this information and knows where to redirect its produce messages. In case of failure while producing, failed broker's data (topics and its partitions) dynamically linked to existing replica which is present on another broker via topic's replication and new leader's information is communicated to the client (producer).

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

    Couldn't learn kafka better in such a short time. Thanks Hussein.

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

    I made it to the end. Excellent. I don’t remember which video previously I saw was so long MD not boring at all. In fact you made it so interesting. May Allah (God) guide and bless you.

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

    Cant say techical corrrect, but this video clears a lot of common confusions associated with Kafka fundamentals.

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

    I made it to the end. Followed every step and it worked nicely. Thank you for the effort... really helpful

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

    bro your tone when explaining these videos are so good. Didn't even feel like someone was teacahing me. It was as if a friend was talking to me lol. Good job man. Your excitement is intoxicating. :)

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

    This course is great because of the example. It's much better than some videos in which only some introductions are represented.

  • @stmasanti
    @stmasanti 4 роки тому +7

    One of the best tutorials i’ve seen. Great class and very funny. Subscribed and waiting for more content!

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

    Appreciate your efforts...like the way you clearly say what you know/understand & what you dont...else I see most people in Industry are faking the intelligence & understanding about any technology & they pretend it so perfectly like they themselves have developed that tech...while those who actually know/understand the tech properly are very few & rare...
    So always good to watch your videos to understand something in simple words rather mugging those funky & techie words.

  • @talkohavy
    @talkohavy 2 роки тому +5

    I didn't know you before this video, but after this video? I'm gonna watch everything you upload man. Every tutorial you're selling? I'm buying! Obviously I liked & subscribed.

  • @nihinlola
    @nihinlola 2 роки тому +1

    Excellent practical explanation of Kafka, I wish every technical tutorial was as easy as this. Thumbs up!

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

    The best stuff on kafka . Made it so simple

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

    Best explanation of Kafka on the internet!

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

    I made it to the End! Thank you for that video, I can now say I understand Kafka a lot better than 1 hour ago :)

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

    Hussein, You are a legend!!! Any one can be a master if they follow to your conversations. I like the way yo have a full conversation with yourself - such a good dialogue asking and answering yourself

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

      Thank you! I am happy you noticed the conversation style, i have been working on it 😊

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

    This is the BEST educational channel!!! Bravo!

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

    Just watched it straight 1 hours 18 minutes during night without skipping.

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

      Hero! I apologies for the light background on my slides that must have hurt the eyes :( I switched to dark mode on my future videos..

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

    Thank you for putting in the effort to make a short and clear to understand video.

  • @jasonngan5747
    @jasonngan5747 2 роки тому +1

    The explanation and illustration is clear and concise! Thanks for the comprehensive tutorial!

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

    made it to end. Amazing video. you made Kafka look so simple, and the best part-> you showed a code demo. clap. clap.

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

    Huge props for trying to understand things before you teach them!

  • @PramodKumar-hu7mt
    @PramodKumar-hu7mt 2 роки тому

    It's good that you included jordan speech...i was just googled that video and came back

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

    Clear and easy to understand. Although it's a long video, but not boring at all.

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

    This guy nailed it completely. Luckily, I landed here!!!

  • @MOHDSALMAN-sj2zu
    @MOHDSALMAN-sj2zu 4 роки тому +13

    I made it to the end. :P Thank you so much for the amazing content Hussein.

  • @robbenbahati
    @robbenbahati 7 місяців тому

    made it to the end, and every detail was fully explained thanks.

  • @KuldeepYadav-jw7jn
    @KuldeepYadav-jw7jn 3 роки тому

    Hi Hussein, I love your way of explaining complex topics, kudos for good work.
    For some time, I was also confused about how the producer sends to the leader only, then I found out this in Kafka docs
    "The producer sends data directly to the broker that is the leader for the partition without any intervening routing tier. To help the producer do this all Kafka nodes can answer a request for metadata about which servers are alive and where the leaders for the partitions of a topic are at any given time to allow the producer to appropriately direct its requests."
    So I think the producer query the info before writing.

    • @kevalprajapati3962
      @kevalprajapati3962 6 місяців тому

      @KuldeepYadava -
      Thanks for answering the question.
      On top of this I have question does the producer request for "give me the leader" every time before sending message or it keeps doing on certain interval.

  • @vbrtrmn
    @vbrtrmn 4 роки тому +2

    Great video, thanks for making it. Love your accent! You're very easy to understand, follow, and your excitement is fantastic!

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

      vbrtrmn glad to know thank you! Lots of people have trouble with my accent glad you like it!

  • @olorundareagnes934
    @olorundareagnes934 15 днів тому

    Thanks a lot, Husseine. You definitely demystified Kafka.

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

    Man, you are the best, thanks a lot for creating such valuable content for free

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

    By far the best introduction video to Kafka I have seen. Great examples and nice build up to demos that puts theory into practice.

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

      Hans-Jacob Melby thanks Hans!

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

      @@hnasr One question though.. Shouldn`t the consumer allways get all messages in the topic (within its partition)? I can see that the property "fromBeginning" i set to true, but when i restart the consumer, it still waits for new mesages. It does not replay the old ones?

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

    I was looking for your channel , you really good at explaining things you helped me once , I'm here again , thank you andn jazkAlllah khayran .

  • @93kazem
    @93kazem 4 роки тому +11

    Thank you for this, don't know how I missed it

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

    Made it till the end !
    You can explain something in a super simple manner if and only if you understand it
    And you do, Thanks !

  • @stefanmiller5818
    @stefanmiller5818 2 роки тому +2

    You really know how to do tutorials, great video!

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

    Amazing, Hussein! Thanks for the overview of Kafka. I've always been a bit afraid of this beast, but now I understand at least the basics

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

    Your skillset is brilliant, amazing and fantastic. Thank you so much!

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

    Very nice tutorial. Got a clear understanding of Kafka, especially the part of queue, pub sub, very helpful! Thank you so much!

  • @luniacllama8373
    @luniacllama8373 5 місяців тому +1

    made it to the end , noice, hopefully i consistently get better at backend and devops :3

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

    This is THE BEST video on this topic. Thanks a lot!

  • @beatagryczka7108
    @beatagryczka7108 3 роки тому +3

    Amazing video! You have the talent to explain the complicated stuff really clearly😊

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

    made it to the end 🤟. It was a very good explanation with great clarity. Really Appreciate your work! Thanks a lot 🙏

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

    This is a great video to understand what Kafka is and how it works, very well explained!

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

    Amazing video, you have made a complex topic extremely simple with your style of teaching.

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

    I made it to the end. Love the long videos and the content 👌👌👌

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

      sidra tariq thanks Sidra I like long format too 😊🙏

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

    You made it very simple to understand. A very complex topic.

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

    Amazing explanation Hussein. Every single bit of your lecture is fully understandable. You made difficult thing easy with practical example. You rocked! Good Luck.

  • @premraj.m
    @premraj.m Рік тому

    1:11:10 I got core point about event driven. Thank You Sir!

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

    Best content on Kafka for beginners 👌

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

    Watched this video in one session, also applied the practice on my machine, what a great content you are creating Hussien, a must rewatch as always 😉

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

    I've never ever seen such a clear explanation about Kafka! well done!

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

    Just started watching and already loving it. I wish you a happy new year and hoping to see more great content like this.

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

    Brother you're videos are phenomenal they are just top notch.

  • @stevensonicteam
    @stevensonicteam 10 місяців тому

    Thank you. Best video so far for learning kafka. 👍

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

    Amazing tutorial! Really find the topic interesting and easy to understand broker, producer, consumer etc.. Thanks for coming up with a great video. Hope we will get to see more on this.

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

    This is brilliant and concise. Been looking for a channel like this 👍🏾

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

      M Zaman enjoy the content 🙏

  • @satheeshprabhakaran5330
    @satheeshprabhakaran5330 2 роки тому +1

    Made it to the end!! Amazing content!

  • @shantnukumar1642
    @shantnukumar1642 2 роки тому +1

    Made it to the end! Awesome video Hussein :)

  • @realohh
    @realohh 4 місяці тому

    Amazing 🎉. Love your work and your passion to teach.

  • @fkadeal
    @fkadeal 2 роки тому +1

    I made it to the end 👍👍😂

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

    Hey ! Good video that I enjoyed it a lot.
    I have heard of kafka and wondering what is for and how to use, and now everything is clear for me thanks to your simple explication. and I hope you will make more videos in the future about full stack developing.

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

      Glad to hear that!

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

    Amazing video. A gifted teacher like this is quite rare ♥Thanks a lot!!
    btw made it to the end 😆

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

    I made it to the End!!! Thanks so much Hussein!

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

    A very good explanation, I got a good idea of how it works and the reason to use all components

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

    made it to the end right from the begining!

  • @deshkarabhishek
    @deshkarabhishek 4 роки тому +15

    Why I didn't find this channel before :( Wasted so much time on other UA-cam videos. :(

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

    Really enjoyed this informative session and yeah, made it to the end !!!

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

    Really.. amazing contents... Finally i could understand kafka works and specially consumer groups...

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

    You're killing me man "LISTENERRRS" 🤣 ! Great video by the way.

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

    your contents are more enjoyable then any Phd holding professor! lol:))))))))

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

    Thank you for this amazing channel. I enjoy watching your videos and learning more.

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

    Made it to the end! Yay! Nice video Hussein!

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

    truly amazing-so simple and incredibly useful. Great job!

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

    best video on kafka. Thanks a ton!

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

    Finally a funny geek! I have enjoyed the video

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

    Thank you very much Hussein, this video helped me a lot. Have best see you next time.