I worked with activemq and rabbitmq but never with kafka, this really clears my mind, basics like these are important to me, now I can start digging for more extended info. Thanks
Thanks for this introduction to Kafka, it's simple and easy to understand the basics of this tool. I am ready to go deeper now. Update: I am updating my comment because it is worth mentioning that Zookeeper is no longer recommended for communication across Kafka clients.
@@mupenziii2097 ZK is still used in current Kafka version (3.x) alongside with KRaft, but starting from next version (4.x), only KRaft will be supported.
Glad you’re back! I’ve written a Spring boot app that reads from and writes to a topic and I’m not changing the app to also send to a postgreSQL as well.
I bet you have the M1 MacBook. Damn, the speed it sends those messages is astonishing! I followed your tutorial on my job laptop which is a pretty strong machine itself too, but it couldn't keep up with the MacBook lol
I have to mention somethings, If you are working on the windows machine then you have to install and configure the Gradle and Scala in order to build the Kafka project. It will give an error using Scala for the first time, that you need to build the project before running the scripts, and by the way you can run Bash Scripts from the Git Bash command line tool.
@amigoscode Hello big boss :-) I have a question. at minute 46:30 you write a messageController with a constructor like "public MessageController(KafkaTemplate kafkaTemplate) {some code}". But it is useless : why don't you simply inject the spring bean like that : @Autowired KafkaTemplate kafkaTemplate ?
Constructor injection has a lot of advantages over field injection, in matters of testability, clear visibility of dependencies, null safety as it ensures that all necessary dependencies are available, and makes the code more flexible and maintainable. That is why I prefer the constructor injection over the annotation.
Can you do a video on Reactive Spring with Reactor? There's like 123 different operators for transforming/manipulating data, I'm drowning in complexity :(
Yo i feel you. I told myself i was going to read for an entire day before i touched anything. Learned so much today about KAFKA. If anyone is looking to hire a KAFKA engineer, reply to this message. Seven years of XP
37: 38 Correct me if I'm wrong, but in order to Spring can discover and use the custom KafkaListenerContainerFactory you specified, by deafult the bean name must be as kafkaListenerContainerFactory (not factory), otherwise it won't be picked up by the application context and none of the specified serializers and deserializer for consumers will be applied, but default KafkaListenerContainerFactory instance with default SerDes instead.
Hey Nelson, at minute 41:40, you said that if we have more than one instance/replica of the same application, these applications will read from the SAME partition. Are you sure about that? I'm pretty sure that if you want to scale the application you MUST implement partitions OTHERWISE the second instance of the application will stay without any log from the subscribed topic. Please give me a feedback about that! Thank you, Cezary B.
Thanks for the video, I really liked the course. I have a question, how did you make your console output in IntelliJ colored for Spring Boot server log output ? Thanks.
You have fixed the price of content in terms of dollars, which might be budget-friendly to your viewers from from developed countries in Europe and USA. However, the same price could be very high and out of budget for a lot of needy people, who love ot watch your content on youtube, and willing to enroll into your full course. You should think about it. I am from India, and been willing to enroll into your courses, but due to price constraint, I am unable to do so.... You can reach to mass viewers from India, if you revise the price and start accepting in local currencies as well.
Hello Nelson, Great. I have enrolled myself in the microservices course! Just my 2 cents to support your efforts. Keep up the great work. Thank you for sharing your knowledge.
Hi Nelson. I would really want you to post some great content about websockets, because I think this topic is really interesting for almost every beginner. So would appreciate it!
I come from Python based backend background. I am not able to understand how to build this in flask/ fastapi. Does consumer has an api endpoint which is called everytime kafka gets a message ? or is the consumer code like a infinite loop that keeps on running in background checking for new messages in the kafka ?
Hello Neflson, you put every thing that i need in this tuto... just you are brillant!!! Thank you very much .. i am very fun of all your tutos .. Good Luck 💓💓💓💝💝
Thanks as always! I have question (coming from Axoniq framework with Spring for CQRS perspective): For rollbacks/compensating transactions, what is best practice when using Kafka for event streaming? Do we really need to have our Producer wait in a callback method for the "ack" method to be invoked by consumer (until a specified deadline is reached), spawn a new thread maybe for the waiting, or is there a better non multi-threaded approach? Or, can we just have the consumer also be the producer in this case, so that if there is failure the consumer can just call a "rollback" command that the Producer now also consumes. The latter approach would render the both services both Kafka Producers AND consumers, but seems much better than waiting around and holding the services up
He can't tell you because he has no idea. He doesn't even know wtf he did in this video, he just copy pasted the configuration for non spring boot frameworks in a spring boot vid, lmao
@CheeseStickzZ your comment is really unnecessary. This man is absolutely brilliant and I’m sure everyone wishes they knew as much as he does. Instead of talking bad about the lesson, use your cheese stick brain to encourage him to keep doing what he’s doing because in my opinion he’s doing a wonderful job. Jealousy will only set you back in life. Please get used to thinking before you speak! Asalamou Aleikoum!
Full Course Available here: amigoscode.com/p/microservices
See you there
Hi Nelson! I would love to get the full course, but I have a doubt. Will the course include the projet deployment on AWS, GC or Azure?
Hi Nelson .. what’s the discount code for this full course ?
Hey Nelson, I'm a big fan of your work.
Thank you Nelson, can you upload this course on udemy ?
@@brandonquintanillaquispe5455 I think not
I worked with activemq and rabbitmq but never with kafka, this really clears my mind, basics like these are important to me, now I can start digging for more extended info. Thanks
Nelson your way of teaching and sharing knowledge is brilliant. You should be proud of yourself. Continue like this !!!
he's an idiot and has no idea what he's talking about, go read my comment above to know why
uhullll on the weekend I coded the entire course, looking forward to the last class!!! amigoscode you are a amigo to me!
Thanks for this introduction to Kafka, it's simple and easy to understand the basics of this tool. I am ready to go deeper now.
Update: I am updating my comment because it is worth mentioning that Zookeeper is no longer recommended for communication across Kafka clients.
Hello, what would you recommend now instead of zookeeper?
@@mupenziii2097 ZK is still used in current Kafka version (3.x) alongside with KRaft, but starting from next version (4.x), only KRaft will be supported.
جزاك الله خيرا يا أخي الكريم! ما شاء الله، بارك الله فيك!
Glad you’re back! I’ve written a Spring boot app that reads from and writes to a topic and I’m not changing the app to also send to a postgreSQL as well.
I want to ask you bro can u give le ur email or something like that?
This is the clearest description and illustration of what Kafka is and how it's structed thar I've seen yet. Thanks!!!!
Amazing course, rahmat !
Mama Samba is a great IT content creator here. I am a huge fan
your courses are the best man, thank you so much, much love from Zimbabwe
Absoluty ... the java goat in YT content. thanks
trying to find myself the solution to a project and here comes amigoscode to the rescue! ^^
Excellent tutorial for Spring Boot with Kafka. Thank you.
I bet you have the M1 MacBook. Damn, the speed it sends those messages is astonishing! I followed your tutorial on my job laptop which is a pretty strong machine itself too, but it couldn't keep up with the MacBook lol
Congrats for a really self-explanatory video!
your are one of the best teach i've follow
The video we’ve all been waiting for
а very simple and important lesson, thank you
I have to mention somethings,
If you are working on the windows machine then you have to install and configure the Gradle and Scala in order to build the Kafka project. It will give an error using Scala for the first time, that you need to build the project before running the scripts, and by the way you can run Bash Scripts from the Git Bash command line tool.
before watching this video, I smashed the like button, because I know it will be worth.
I'm so glad, the youtube recommended me this video. 👏
🎉 That tutorial was perfect.
Excellent video about Kafka and its implementation
What a beautiful soul! Thank you amigos
THANK YOU SO MUCH FOR THIS, WE WOULD APPRECIATE MORE IF IT WAS ON GITHUB TOO
this is really some very structured tutorial, thank you
Nelson is a legend, that’s it!
love your content. you're so calm and a wonderful presenter. best of luck
Hey Amigoscode, Great Content as Always!✨
Thanks for Sharing it!🙏🏻
You Have Been an Inspiration for My Own 📺UA-cam Channel!!!
Thorough explanation of the concepts as well as the application. Kudos !!
Just wow, Amigo, Thank you so much :)
@amigoscode Hello big boss :-) I have a question. at minute 46:30 you write a messageController with a constructor like "public MessageController(KafkaTemplate kafkaTemplate) {some code}". But it is useless : why don't you simply inject the spring bean like that : @Autowired KafkaTemplate kafkaTemplate ?
Constructor injection has a lot of advantages over field injection, in matters of testability, clear visibility of dependencies, null safety as it ensures that all necessary dependencies are available, and makes the code more flexible and maintainable. That is why I prefer the constructor injection over the annotation.
Thanks for amazing tutorials!
Hope your community will be 1 mln soon, InshaAllah brother!
Can you do a video on Reactive Spring with Reactor? There's like 123 different operators for transforming/manipulating data, I'm drowning in complexity :(
I do understand your pain
Yo i feel you. I told myself i was going to read for an entire day before i touched anything. Learned so much today about KAFKA. If anyone is looking to hire a KAFKA engineer, reply to this message. Seven years of XP
Lot of thanks Nelson. You do great work.
You are my hero man. Thank you so much for this content.
I love that you made this, i was looking everywhere for this!
Fantastic tutorial
dude, why you are so good
37: 38 Correct me if I'm wrong, but in order to Spring can discover and use the custom KafkaListenerContainerFactory you specified, by deafult
the bean name must be as kafkaListenerContainerFactory (not factory), otherwise it won't be picked up by the application context and none of
the specified serializers and deserializer for consumers will be applied, but default KafkaListenerContainerFactory instance with default SerDes instead.
Hey Nelson, at minute 41:40, you said that if we have more than one instance/replica of the same application, these applications will read from the SAME partition. Are you sure about that? I'm pretty sure that if you want to scale the application you MUST implement partitions OTHERWISE the second instance of the application will stay without any log from the subscribed topic.
Please give me a feedback about that!
Thank you,
Cezary B.
I am having the same doubt!
Thanks sir! This's really helpful for me
Looking forward to learn Kafka.
how happy i am seing great muslim software engineer, thanks for the content
@Amigoscode, you are awesome ... :)
Thank you for this tutorial. Really helpful.
That's my guru🙏🏼 Thanks to great people like these that we are progressing so fast!
Amazing video! Keep up the good work brother!
you are awesome brother, keep going!!
Hi, Great Video as always! Thank you.
جزاك الله خيرا
Thank you so much for this video! God bless you 😉
Walikom Asslam,
Wonderful Video bro, please keep it up!
hey public record not exist on java 11 is there replacement?
great course!! thanks a ton:)
Thank you, that was great
Thanks for the video, I really liked the course. I have a question, how did you make your console output in IntelliJ colored for Spring Boot server log output ? Thanks.
Great tutorial, thanks!
What is that plugin with the cat on rainbow in the project loading/building scale?
Nelson is giving so much of this course away for free. I just love it!!!
May Allah reward you for this job bro :)
Great Stuff, Thanks for sharing
You have fixed the price of content in terms of dollars, which might be budget-friendly to your viewers from from developed countries in Europe and USA. However, the same price could be very high and out of budget for a lot of needy people, who love ot watch your content on youtube, and willing to enroll into your full course.
You should think about it.
I am from India, and been willing to enroll into your courses, but due to price constraint, I am unable to do so....
You can reach to mass viewers from India, if you revise the price and start accepting in local currencies as well.
Bruuhh, how did you know I was looking at this tutorial!?
a friendly reminder :i will appreciate if you start with explaining the code rather than reading the code along . thanks for the free content
Amigo, great Job!
Hello Nelson, Great. I have enrolled myself in the microservices course! Just my 2 cents to support your efforts. Keep up the great work. Thank you for sharing your knowledge.
Thank you for these great videos.
Long live brother, thanks for sharing your knowledge love from chennai , tamil nadu , India
It would be nice to see more than Hello World tutorial. Best regards
Hi Nelson. I would really want you to post some great content about websockets, because I think this topic is really interesting for almost every beginner. So would appreciate it!
@Amigoscode Is there any resources or teaching you've done that tests spring-kafka?
Thanks for a beautiful explanation
Hi. In the amigoscode page the kafka chapter No 9 and 10 are mixed, I was lost at the beginning 😂😂
Noticed that smashing like button became 2 seconds to 1 second 😁🙌
HI. thanks a lot for the video. Could you tell in the next video about Camunda 8 and Spring Boot
Hi.. do you have plans to prepare some videos about apache camel? Maybe whole course about that technology? :D
Thank you very much for these videos, they are very helpful
why not to make kafka setup (serializer, deserializer etc) via application.properties? why you need this boilerplate with maps and configs?
Grate video. Please do tutorials with Apache Hadoop, Apache Hive, Apache YARN ect...
great video Nelson... Thank you..
Great tutorial. Thanks a lot.
What is adventage in kafka configuration in the config classes opposit configuration in properties files?
gracias por tus videos ..! you're the best😎
Hi Amigo, thanks for your videos.. really helpful.
I come from Python based backend background. I am not able to understand how to build this in flask/ fastapi. Does consumer has an api endpoint which is called everytime kafka gets a message ? or is the consumer code like a infinite loop that keeps on running in background checking for new messages in the kafka ?
thank you man ☺️
Why didn't you use a Kafka docker container?
Great video! Thank you
Sooo pumped for this!!!
at 43:05 - why you need to restart once more??? can you explain?
Over the top.
So is there a way to secure the Kafka topic or broker for only users register in the API can consume data?
that was very helpful !
Hello Neflson, you put every thing that i need in this tuto... just you are brillant!!! Thank you very much .. i am very fun of all your tutos .. Good Luck 💓💓💓💝💝
Thanks as always! I have question (coming from Axoniq framework with Spring for CQRS perspective):
For rollbacks/compensating transactions, what is best practice when using Kafka for event streaming? Do we really need to have our Producer wait in a callback method for the "ack" method to be invoked by consumer (until a specified deadline is reached), spawn a new thread maybe for the waiting, or is there a better non multi-threaded approach? Or, can we just have the consumer also be the producer in this case, so that if there is failure the consumer can just call a "rollback" command that the Producer now also consumes. The latter approach would render the both services both Kafka Producers AND consumers, but seems much better than waiting around and holding the services up
He can't tell you because he has no idea. He doesn't even know wtf he did in this video, he just copy pasted the configuration for non spring boot frameworks in a spring boot vid, lmao
@CheeseStickzZ your comment is really unnecessary. This man is absolutely brilliant and I’m sure everyone wishes they knew as much as he does. Instead of talking bad about the lesson, use your cheese stick brain to encourage him to keep doing what he’s doing because in my opinion he’s doing a wonderful job. Jealousy will only set you back in life. Please get used to thinking before you speak!
Asalamou Aleikoum!
you said that kafka topic can keep the message forever, if we send two different messages to the same topic, it will only keep the last one right?
Amazing video. Any chance of getting a link to git repo of the code in the video?