Wow, Anton sir, this breakdown of Apache Kafka's architecture is incredibly insightful! Understanding how topics, partitions, and brokers work together is key to leveraging Kafka effectively in real-world applications. Thanks for this great overview!
One unorthodox questions do you think creating those videos help you getting deeper understanding of these technologies. I write articles and I found that it actually benefits as much me as helping others. Great work.
10:13 Kafka should work just as well with HDD, as it's writes are sequential, which is fast in HDD. If kafka needs SSD for fast performance, it will become very expensive to retain data in kafka for long periods, which is a feature kafka offers.
Good day Anton, thank you so much for user-friendly content! Could you please make a tutorial video on properly deploying secure (SASL/SCRAM) Confluent based full Fafka stack (2024 edition)? For several weeks I am attempting to deploy full kafka stack (zoo+kafka+schema-registry+kafka-connect+rest-proxy+ksqldb+conduktor-console) using SASL/SCRAM_SHA_256 method, but having errors in additional components such as registry, proxy connect and ksqldb during SASL SCRAM authorization... (docker compose solution). I am sure it would be really helpful to the kafka devops community here... Sincerely, Shokhrukh Yursunjonov
Sure, I can do it. A couple of questions: Is it Kubernetes-based? Also, why not use Kafka without ZooKeeper (KRaft)? Do you have any legacy applications that require ZooKeeper?
@@AntonPutra it is docker stack based (cause I am given one server to deploy kafka and I am writing compose file to deploy all in one server). Ah, I almost forgot about KRaft, good idea, I might try to use this mode, I heard that it is more intelligent and faster! According to my info (what devs said to me) apps are not legacy (mostly .net containerized apps), thus I can try using single/double broker KRaft mode, thank you. But I am afraid to have the same issues configurning SASL/SCRAM auth in it
@@shokhrukhbekyursunjonov6203 yes it's faster since kafka does not need to keep offsets in zookeeper and it's scales better without zk. I'll get to it maybe after EKS playlist will see.
key/value :) for the value you can use RPC, avro, json etc.. Many companies use protocol buffers to reduce the size of the payload - grpc.io/docs/what-is-grpc/core-concepts/#service-definition
@@AntonPutra Got it thank you. Yeah so message data structure is key value. But as kafka is a queue, it maintains a log file in append mode on each broker, as you have covered. So it also has query data structure.
So the upper bound on the number of consumers for a topic is the number of partitions? That’s quite limiting compared to something like Apache Pulsar or NATS Jetstream where you can horizontally scale the consumers as much as you want without worrying about the partitioning scheme of the server.
No, you can have as many consumers as you want, not limited by partitions. Depends on your app, in some cases, to scale you need to increase both partitions and consumers.
🔴 To support my channel, I'd like to offer Mentorship/On-the-Job Support/Consulting (me@antonputra.com)
Wow, Anton sir, this breakdown of Apache Kafka's architecture is incredibly insightful! Understanding how topics, partitions, and brokers work together is key to leveraging Kafka effectively in real-world applications. Thanks for this great overview!
thanks!
One unorthodox questions do you think creating those videos help you getting deeper understanding of these technologies. I write articles and I found that it actually benefits as much me as helping others. Great work.
thanks, of course it does
Thanks for this high-quality explanation!!!
thanks trying to improve
best primer on Kafka. kudos
thanks!
Your content is awesome. Hats off to your visualization and explanation .
❤
Awesome! I love these videos. They are so simple to understand. Thanks.
thank you!
In 4:55 should the partition in kafka broker 3 be partition 6, 7, 8 instead of 3, 4, 5, since you mentioned a partition always belongs to one broker.
yeah, copy paste mistake :) it should be 6, 7, 8
Thanks for the clarification@@AntonPutra
Great Kafka video, very clear and great diagrams.
Thanks!
Well done! I would recommend doing Pulsar next
thanks! i'll take a look
Great video sir ! is it possible to create a video for deploying production-ready kafka clusters on k8s ?
thanks! well maybe in the future, there are some k8s operators available to run on k8s
this guy ^ always bringing useful information. Well done @AntonPutra.
thank you!
High quality thank you!!
thank you!
Thank you. This was actually helpful :)
welcome!
10:13 Kafka should work just as well with HDD, as it's writes are sequential, which is fast in HDD. If kafka needs SSD for fast performance, it will become very expensive to retain data in kafka for long periods, which is a feature kafka offers.
I doubt that it will perform well with an HDD, but I may test it someday
How you menage message locking in Kafka in case of a consumer task is time consuming?
Good day Anton, thank you so much for user-friendly content! Could you please make a tutorial video on properly deploying secure (SASL/SCRAM) Confluent based full Fafka stack (2024 edition)? For several weeks I am attempting to deploy full kafka stack (zoo+kafka+schema-registry+kafka-connect+rest-proxy+ksqldb+conduktor-console) using SASL/SCRAM_SHA_256 method, but having errors in additional components such as registry, proxy connect and ksqldb during SASL SCRAM authorization... (docker compose solution). I am sure it would be really helpful to the kafka devops community here...
Sincerely,
Shokhrukh Yursunjonov
Sure, I can do it. A couple of questions: Is it Kubernetes-based? Also, why not use Kafka without ZooKeeper (KRaft)? Do you have any legacy applications that require ZooKeeper?
@@AntonPutra it is docker stack based (cause I am given one server to deploy kafka and I am writing compose file to deploy all in one server). Ah, I almost forgot about KRaft, good idea, I might try to use this mode, I heard that it is more intelligent and faster! According to my info (what devs said to me) apps are not legacy (mostly .net containerized apps), thus I can try using single/double broker KRaft mode, thank you. But I am afraid to have the same issues configurning SASL/SCRAM auth in it
@@shokhrukhbekyursunjonov6203 yes it's faster since kafka does not need to keep offsets in zookeeper and it's scales better without zk. I'll get to it maybe after EKS playlist will see.
Hello brother
Great explanation
Recently in interview, i was asked what is the data structure that is used in kafka..
key/value :) for the value you can use RPC, avro, json etc.. Many companies use protocol buffers to reduce the size of the payload - grpc.io/docs/what-is-grpc/core-concepts/#service-definition
@@AntonPutra Got it thank you. Yeah so message data structure is key value. But as kafka is a queue, it maintains a log file in append mode on each broker, as you have covered. So it also has query data structure.
So the upper bound on the number of consumers for a topic is the number of partitions? That’s quite limiting compared to something like Apache Pulsar or NATS Jetstream where you can horizontally scale the consumers as much as you want without worrying about the partitioning scheme of the server.
No, you can have as many consumers as you want, not limited by partitions. Depends on your app, in some cases, to scale you need to increase both partitions and consumers.
@RD-fb6ei However in those applications when you scale the consumers, I believe you lose the guarantee of events arriving in order.
Hello sir can you make video on kubernetes helm chart please
ok
Which tools you are using for making this animation?
adobe
@@AntonPutra thank you for the quick response. Could you please tell me full name of the software
@@rajun9208 adobe suite, multiple apps illustrator, after effect, premiere pro etc
perfect explanation, ty
🍿 Benchmarks: th-cam.com/play/PLiMWaCMwGJXmcDLvMQeORJ-j_jayKaLVn.html&si=p-UOaVM_6_SFx52H
Can't help subscribing ;) thanks!
🙏
typo of partitions
Axlex Xu and now Anton Putra 🔥🫡