Apache Kafka Crash Course

Поделиться
HTML-код
  • Опубликовано: 8 июн 2024
  • Apache Kafka is a distributed stream processing software developed by LinkedIn and written in Scala and Java.
    Chapters
    0:00 Intro
    2:32 Kafka Broker
    5:39 Kafka Producer
    7:11 Kafka Consumer
    8:34 Kafka Partitions
    12:50 Queue vs Pub-Sub
    16:47 Consumer Group
    23:06 ZooKeeper
    29:45 Coding Example
    1:02:48 Kafka Pros-Cons
    1:17:00 Summary
    Download slides here
    payhip.com/b/Y0Cq
    (Members get all slides for all my video courses for free)
    In this video I want to focus on the basics of Kafka, talk about how it works give finally spin up a Kafka cluster and write a producer and a consumer.
    Kafka Components
    _ producer
    _consumer
    _topic
    _partition
    How Kafka works
    Example ( Ride sharing )
    Spin Kafka cluster
    Write a producer
    Write a consumer
    Kafka Applications
    Pros and Cons
    Source Code
    github.com/hnasr/javascript_p...
    Docker commands spin up kafka
    //if you ever mess up or you want to start fresh just stop and remove the containers and rerun the command
    docker stop zookeeper kafka
    docker rm zookeeper kafka
    docker run --name zookeeper -p 2181:2181 -d zookeeper
    docker run -p 9092:9092 --name kafka -e KAFKA_ZOOKEEPER_CONNECT=husseinmac:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://husseinmac:9092 -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 -d confluentinc/cp-kafka
    Get my fundamentals of database engineering course link redirects to udemy with coupon applied (database.husseinnasser.com)
    Resources
    KIP 500 (Remove Zookeeper)
    cwiki.apache.org/confluence/d...
    Become a Member on RUclips
    / @hnasr
    🧑‍🏫 Courses I Teach
    husseinnasser.com/courses
    🏭 Backend Engineering Videos in Order
    backend.husseinnasser.com
    💾 Database Engineering Videos
    • Database Engineering
    🎙️Listen to the Backend Engineering Podcast
    husseinnasser.com/podcast
    Gears and tools used on the Channel (affiliates)
    🖼️ Slides and Thumbnail Design
    Canva
    partner.canva.com/c/2766475/6...
    🎙️ Mic Gear
    Shure SM7B Cardioid Dynamic Microphone
    amzn.to/3o1NiBi
    Cloudlifter
    amzn.to/2RAeyLo
    XLR cables
    amzn.to/3tvMJRu
    Focusrite Audio Interface
    amzn.to/3f2vjGY
    📷 Camera Gear
    Canon M50 Mark II
    amzn.to/3o2ed0c
    Micro HDMI to HDMI
    amzn.to/3uwCxK3
    Video capture card
    amzn.to/3f34pyD
    AC Wall for constant power
    amzn.to/3eueoxP
    Stay Awesome,
    Hussein
  • НаукаНаука

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

  • @hnasr
    @hnasr  3 года назад +17

    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 Год назад +1

      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 2 года назад +138

    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 года назад +6

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

    • @boobalangnanasekaran3381
      @boobalangnanasekaran3381 2 года назад +13

      @@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!

  • @mubashirimtiaz3836
    @mubashirimtiaz3836 10 месяцев назад +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.

  • @mikejeffery8371
    @mikejeffery8371 3 года назад +16

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

  • @jithin_zac
    @jithin_zac 3 года назад +67

    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❤️

  • @stmasanti
    @stmasanti 4 года назад +6

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

  • @aatifbangash
    @aatifbangash 4 года назад +15

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

    • @hnasr
      @hnasr  4 года назад

      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

  • @ershad003
    @ershad003 Год назад +5

    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... 👏👏👏

  • @satalkar
    @satalkar 3 года назад +55

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

    • @hnasr
      @hnasr  3 года назад +5

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

  • @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..

  • @asht7290
    @asht7290 2 года назад +1

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

  • @frontend-ops
    @frontend-ops 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.

  • @nimasoufiloo2626
    @nimasoufiloo2626 3 года назад +1

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

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

    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.

  • @psuter80
    @psuter80 2 года назад +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 :)

  • @manishbolbanda9872
    @manishbolbanda9872 2 года назад +1

    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.

  • @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.

  • @jasonngan5747
    @jasonngan5747 2 года назад +1

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

  • @atexnik
    @atexnik 3 года назад +1

    This is the BEST educational channel!!! Bravo!

  • @beatagryczka7108
    @beatagryczka7108 3 года назад +3

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

  • @nihinlola
    @nihinlola 2 года назад +1

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

  • @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. :)

  • @MOHDSALMAN-sj2zu
    @MOHDSALMAN-sj2zu 3 года назад +13

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

  • @rogergarza5378
    @rogergarza5378 2 года назад

    You are a hero, Hussein. I spent two afternoons with you on this tutorial and it was an absolute pleasure. Thank you!

    • @hnasr
      @hnasr  2 года назад

      Glad you enjoyed it ❤️

  • @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!

  • @ilyakushlianski6519
    @ilyakushlianski6519 2 года назад

    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!

  • @user-lq7yg5ej1u
    @user-lq7yg5ej1u 10 месяцев назад +1

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

  • @vbrtrmn
    @vbrtrmn 3 года назад +2

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

    • @hnasr
      @hnasr  3 года назад

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

  • @a.yashwanth
    @a.yashwanth Год назад

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

  • @ComisarioLobo
    @ComisarioLobo 3 года назад +1

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

  • @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.

  • @abhasupadhayay6420
    @abhasupadhayay6420 3 года назад

    Really amazing!!! So many concepts explained in an easy and interesting way. Please keep up the great work.

  • @93kazem
    @93kazem 4 года назад +11

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

  • @manishtanwar4803
    @manishtanwar4803 2 года назад

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

  • @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.

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

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

  • @alexsiuwh
    @alexsiuwh 2 месяца назад

    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👍👏🙏

  • @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!

  • @peternamagonya5310
    @peternamagonya5310 Год назад

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

  • @alishoman2826
    @alishoman2826 3 года назад

    the simplest and best tutorial ever!! Good Job

  • @johnshaheen3862
    @johnshaheen3862 3 года назад +2

    professionalism + enthusiasm + enjoyment + wonderful content= Hessein Nasser

    • @hnasr
      @hnasr  3 года назад +1

      John Shaheen you make me blush John 😊 thanks !!

  • @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 :)

  • @DavidBwire
    @DavidBwire Год назад

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

  • @priyaranjankumarverma2341
    @priyaranjankumarverma2341 3 года назад

    I really appreciate you from my deep of heart for explaining such complex concepts in super simple way, Excellent :)

  • @shantnukumar1642
    @shantnukumar1642 Год назад +1

    Made it to the end! Awesome video Hussein :)

  • @ibknl1986
    @ibknl1986 2 года назад

    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.

  • @gokulkpeethu6642
    @gokulkpeethu6642 10 месяцев назад

    The best stuff on kafka . Made it so simple

  • @amizan8653
    @amizan8653 3 года назад

    This is explained simply and perfectly. Thank you for posting this.

  • @t529615
    @t529615 3 года назад

    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  3 года назад

      Hans-Jacob Melby thanks Hans!

    • @t529615
      @t529615 3 года назад

      @@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?

  • @amirhosseinmoayedi6205
    @amirhosseinmoayedi6205 8 месяцев назад

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

  • @flippolis71
    @flippolis71 Год назад

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

  • @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.

  • @prakharvijay8853
    @prakharvijay8853 2 года назад +1

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

  • @hnasr
    @hnasr  4 года назад +21

    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)

    • @TeslUS_US
      @TeslUS_US 3 года назад

      Hello Hussein. wish program do you use for recording your videos?. thanks for the answer

  • @hvuupadhyay5418
    @hvuupadhyay5418 Год назад

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

  • @shivangitomar5557
    @shivangitomar5557 2 года назад

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

  • @abrahammoyo2939
    @abrahammoyo2939 3 года назад

    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  3 года назад

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

  • @stefanmiller5818
    @stefanmiller5818 2 года назад +2

    You really know how to do tutorials, great video!

  • @bhaveshgujarathi926
    @bhaveshgujarathi926 Год назад

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

  • @atharwaadawdakar4144
    @atharwaadawdakar4144 2 года назад

    Thank you so much for such a crystal clear and crisp explanation !!

  • @stevensonicteam
    @stevensonicteam 5 месяцев назад

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

  • @emanuel0723
    @emanuel0723 4 года назад

    Enjoyed following this... as always, thanks Hussein!

  • @obiwanus
    @obiwanus 3 года назад

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

  • @simonhuang1357
    @simonhuang1357 3 года назад

    I made it to the end. Thanks for the tutorial, it was very informative and I appreciate your efforts.

  • @saurabhdeshpande8450
    @saurabhdeshpande8450 2 года назад

    Best explanation of Kafka on the internet!

  • @mzaman8660
    @mzaman8660 4 года назад +1

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

    • @hnasr
      @hnasr  4 года назад

      M Zaman enjoy the content 🙏

  • @PrashantKhanolkarUSA
    @PrashantKhanolkarUSA Год назад

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

  • @princeabdul4290
    @princeabdul4290 3 года назад

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

  • @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 😉

  • @jassinakhlaqi5474
    @jassinakhlaqi5474 2 года назад

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

  • @wanitooo
    @wanitooo Год назад

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

  • @pongching8697
    @pongching8697 3 года назад

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

  • @shubhamchandra336
    @shubhamchandra336 3 года назад +2

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

  • @satheeshprabhakaran5330
    @satheeshprabhakaran5330 2 года назад +1

    Made it to the end!! Amazing content!

  • @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 .

  • @sindhumohana6164
    @sindhumohana6164 2 года назад +1

    Amazing video Hussein ! The way you explain helps to register the information in our memory :-)

  • @mikaeledebro1144
    @mikaeledebro1144 3 года назад

    Great explanation and overview over the possibilities of Kafka! Looks like a cool technology!

  • @zmm1337
    @zmm1337 4 года назад +180

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

  • @umair.ramzan
    @umair.ramzan 3 года назад +1

    made it to the end :))) Thank you Hussein, you are the best!!

  • @crypto-saiyan9283
    @crypto-saiyan9283 Год назад

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

  • @hey.............
    @hey............. Год назад +1

    Thank you man!
    Really appreciate the hardwork.

  • @jongxina3595
    @jongxina3595 Год назад

    best video on kafka. Thanks a ton!

  • @mosespeter9711
    @mosespeter9711 2 года назад

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

  • @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 !

  • @PramodKumar-hu7mt
    @PramodKumar-hu7mt Год назад

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

  • @xonmaina
    @xonmaina Год назад

    Thanks Nasser I ve made it to the end. wonderful stuff

  • @mohammedabdulbary1577
    @mohammedabdulbary1577 Год назад

    I really enjoyed this video, thanks man ❤️

  •  Год назад

    Excellent tuto Hussein! Thanks a lot.

  • @sumanth6299
    @sumanth6299 2 года назад

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

  • @nicolaseckell9691
    @nicolaseckell9691 Год назад

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

  • @sanjitselvan5348
    @sanjitselvan5348 Год назад

    Wow! Wonderfully explained video, including the commands. Thank you

  • @thecloudterminal
    @thecloudterminal Год назад

    This is amazing! Thank you for creating this

  • @hangduong6683
    @hangduong6683 Год назад

    oh my god I love this video so much =]] this is such an amazing tutorial and how funny the instructor is : D

  • @kramnedski1988
    @kramnedski1988 3 месяца назад

    I appreciate the content. no boring part :)

  • @pavankumardittakavi5325
    @pavankumardittakavi5325 2 года назад

    So much quality content. Thanks a lot Hussein.

  • @ibrahimibrahim1991
    @ibrahimibrahim1991 3 года назад

    Thank you Hussein, it's a great introduction to Kafka

  • @santiagobustamante970
    @santiagobustamante970 Год назад

    Thank you Hussein!! Great explanation as always!

  • @keaniaeric2719
    @keaniaeric2719 3 года назад

    I have been learning alot from you coach. Thank you so much

  • @souravsarker3913
    @souravsarker3913 3 года назад

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