System Design: Apache Kafka In 3 Minutes

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

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

  • @dhirajnavale3861
    @dhirajnavale3861 Год назад +438

    Thanks for the video mate now I can add Apache Kafka to my resume

  • @VincentJenks
    @VincentJenks Год назад +18

    Kafka is one of my favorite pieces of technology. I’ve successfully used it in several projects as a streaming queue and event bus, in a microservices setting, and it’s a joy to work with. Since it tracks what has been consumed with an offset, it greatly simplifies distributed, high-volume writes, and gives you great confidence in data consistency (eventually) ;) Highly recommend!

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

      Do you know where the information "this consumer consumed the latest message SOME_ID from topic" is stored ? On consumer side or broker side ? If there is a temporary connection issue for example, I am trying to understand how the consumer can resume at the exact record id (mostly last record id processed +1)

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

      Could you please help why not Rabbit MQ but KAFKA ?

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

      Save that for your interview bruh

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

      @@jackwinnfield It's not exactly meant to be used "sparingly". You either utilize it or you don't bother w/ the effort. As the video mentions, it's an effective data bus for microservices. If you're not decoupling your microservices properly, you're setting yourself up for a lot of pain as development scales out, as you'll have a lot of "spaghetti services" that can't be deployed independently, cause cascading failures when one link in the chain goes down, and generally loses the ability to be fault-tolerant. If you're making direct calls between your services and it's holding up well, you likely over-engineered to begin with, and don't truly need microservices architecture to begin with.

    • @benisrood
      @benisrood 11 месяцев назад

      @@VincentJenks True, but if all you are using Kafka for is "an effective data bus for microservices", unless what you are working on is really big, very distributed, and for a big company, you can use something much more lightweight like RabbitMQ.
      Most developers don't work for Uber or Netflix-scale companies, nor anywhere close. I agree with you though, Kafka is a fantastic product, but you need to require its full value proposition in order to justify using it in your system.

  • @gcbadger
    @gcbadger Год назад +9

    Really great overview - precise and succinct!

  • @ak-ot2wn
    @ak-ot2wn Год назад +2

    0:58- "this sets it apart from simpler messaging systems". What sets it apart from simpler messaging systems? The fault tolerance that you mentioned right before that sentence? In what sense is it fault tolerant? By being distributed and holding messages across multiple nodes?

  • @roywastaken
    @roywastaken Год назад +16

    @fireship is sweating bullets right now

  • @gcbadger
    @gcbadger Год назад +2

    Great video! Precise and concise

  • @nachiketkanore
    @nachiketkanore Год назад +15

    I would like to know how these types of animated videos are created

    • @saitaro
      @saitaro Год назад +10

      This was created with Kafka.

  • @mestlabs9922
    @mestlabs9922 Год назад +7

    I really love your videos. I have subscribed to bytebytego and continue to learn from the content you share. I have one question about your video animation. What do you use to animate the system design animations in this video explanation of Kafka. I have a presentation and I would love to do something like that for my presentation. Thank you.

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

      Powerful tool. I also wanna know

    • @benisrood
      @benisrood 11 месяцев назад

      Literally in the video description.

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

    Hello Alex,
    I love your style of presenting. could you share which bunch of softwares you use for your lectures ?

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

    Great description. What software is used to do these diagrams

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

    Excellent work how you make bits and packets moving and these animated flowgraphs? Which software?

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

    Hello, thanks for providing us with these fantastic presentations. I will be very 0:26 if you kindly send me these files. Anyway, it will be appreciated if you let me know the way and method these files are produced.

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

    Yoy are awesome. thanks for sharing such a deep knowledge

  • @NareshS-d3z
    @NareshS-d3z 11 месяцев назад

    You can explain full details of Tomcat Apache service, please

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

    Great overview! kudos! If Kafka should not be used for Low Latency then what is the best tech/tool to use for Low Latency Systems or Financial Markets Trading? I would appreciate if you could create a video on Low Latency System Designing?

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

      You can remove the broker with something like UDP broadcasting from the producer side. There are ways to make it more resilient by implementing retries and so forth. However, it is not as resilient as apache Kafka. Like when the client and server crash, there is no easy way to know at what point it crashed and what data the consumer is missing.

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

      Search for LMAX distruptor - it's a well documented example.

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

      @@jackfinkel9434 I've worked with UDP-based protocols, in fact, I removed a UDP protocol with retries and so forth because it performed worse than TCP. There is no free lunch with UDP.

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

      Idk, a lot of stock market feeds seem to use udp multicasting for its low latency: www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/moldudp64.pdf

  • @Newascap
    @Newascap Год назад +2

    Celery with Java? or RabbitMQ with Java?

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

    thank you!

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

    What's the difference of Kafka vs Any other Queue messaging system?

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

    3:05 "this is also not suitable for ultra low latency applications like high frequency trading, where microseconds matter." can you elaborate this??

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

    How do you make these animated videos?

  • @z0nx
    @z0nx Год назад +2

    Anything about alternatives or competitors to kafka?

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

    Thanks for the video, great explanation. Not sure if it’s correct to call it real-time streaming though, normally it would refer to websockets while event driven systems can be quite slow.

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

      Nope, Web Sockets are used to communicate between server and browser.
      "Real-time" is contextual and it's usage here is fine. It implies processing within a well known tolerance. If you were in a different domain such as microcontrollers, gaming or high frequency trading, then each of those would have a different meaning. I've worked in all those industries and used Kafka.

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

    Hi , What kind of software to write dynamic architecture ?

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

    Thanks

  • @makimikkelson
    @makimikkelson Год назад +2

    Why the name. Is there a connection to the famous writer? I don‘t see any connection to one of his stories and I read quite a few of them. Probably no connection there.

    • @kasparpoland9803
      @kasparpoland9803 Год назад +4

      Fireship joked that it's because "it's optimized for lots of writing", not sure if that's true.

  • @user-ex2yt1pl6u
    @user-ex2yt1pl6u Год назад +2

    Correction: Apache Kafka In 4 Minutes

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

    How and why am I subscribed to this channel and I didn't subscribe to here? I've been experiencing this quite a bit on RUclips. I really need to write to RUclips about this because I didn't subscribe and yet I got a notification and when I checked I'm subscribe to here.

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

    Why sound quality is low ?🤨

  • @dimitricharles9784
    @dimitricharles9784 Год назад +2

    You can do the same for RabbitMQ.

    • @VincentJenks
      @VincentJenks Год назад +2

      Not quite. There are many advantages to Kafka, which you can find through searching for comparisons.

  • @World-Of-Mr-Motivater
    @World-Of-Mr-Motivater 9 месяцев назад

    please louder from next video sir

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

    Can somebody help me learn Hadoop in simpler language !

  • @seanloiselle6653
    @seanloiselle6653 4 месяца назад +1

    Based on the title, I expected this to be about designing a Kafka-like system, not what Kafka is.

  • @АртемФедоров-ю7б
    @АртемФедоров-ю7б Год назад +8

    What a shame, this video is about nothing. If it was supposed to be for engineers than you should probably talk about how it works under the hood (what is this topic, what it consist of, "replay" feature of kafka -commit log)

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

      It’s not a tutorial, it’s a quick familiarization. Use it to direct your own learning.

    • @24Shredder
      @24Shredder Год назад +1

      What did you expect from a 3 minute long video? The time you wasted on writing your useless comment would have been more useful for you if you just looked for another video

    • @АртемФедоров-ю7б
      @АртемФедоров-ю7б Год назад

      @@24Shredder I do not expect something from video, I expect from people

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

    This video is about nothing! 😡