A BETTER Way to Kafka Event Driven Applications with C#
KafkaFlow makes developing Apache Kafka Event-Driven Applications so much simpler.
💎 Be a Patreon to get the source code: / gsferreira
🚨 KEY LINKS
🤝 Support me on Patreon (and get access to source code) here: / gsferreira
🔗 KafkaFlow: farfetch.github.io/kafkaflow/
👋 HEY FRIEND
If you're new to my Channel, my name is Guilherme, but you can call me Gui if Portuguese pronunciation is not your thing.
I see myself as a Minimalist Software Craftsman. That says a lot of what I talk about here.
So, why this KZread channel? To share with you to simplify your life as a Developer through knowledge, technology, and practices.
If you are into those things as I do, don't forget to subscribe for new videos.
🔗 GET IN TOUCH
LinkedIn: / gferreira
Twitter: / gsferreira
GitHub: github.com/gsferreira
Visit my blog: gsferreira.com
#dotnet #csharp #apachekafka #kafkaflow
Пікірлер: 40
This is a great demonstration on how to build event-driven applications. If you could post a video outlining also the basics of Kafka, that would be awesome! Thanks.
@gui.ferreira
Жыл бұрын
Hi Daniel Thanks for the feedback. I will plan a video on the basic concepts needed for a Developer 😉
@JOHNSONLOBOlobojony
Жыл бұрын
video outlining the basics of Kafka would be of great help
@gui.ferreira
Жыл бұрын
@@JOHNSONLOBOlobojony Coming soon 😉
@gui.ferreira
Жыл бұрын
@@JOHNSONLOBOlobojony Here it is 😉 kzread.info/dash/bejne/YqF6lMObkse8ZLw.html
@gui.ferreira
Жыл бұрын
Here it is 😉 kzread.info/dash/bejne/YqF6lMObkse8ZLw.html
Clear and straight to the point. Thanks Gui!
@gui.ferreira
11 ай бұрын
Thank you 🙏
Great video, short, clear, no extra stuff , please share the basics too
@gui.ferreira
Жыл бұрын
Hi Benjamin! Thanks! I will plan a video on the basics 😉
@gui.ferreira
Жыл бұрын
Here it is 😉 kzread.info/dash/bejne/YqF6lMObkse8ZLw.html
Would definately like to see a video on the management API and all the other capabilites.
good Explanation :) I can add this concept into resume.... thanks a lot once again
@gui.ferreira
2 ай бұрын
If you get a job based on just this video let me know 😜
@pbp2387
21 күн бұрын
😂@@gui.ferreira
Love this, amazing work. One question when using parallel consumers, is the parrellism dependant on the number of partitions or you could have 1 partition and still have more than one consumer?
@gui.ferreira
Жыл бұрын
Thanks, Ismail. That is the beauty of it. With KafkaFlow you can use workers to get a multi-threaded consumer even with only one partition. Keep in mind that in Kafka there is no point in adding more consumers than you have partitions in a topic.
In your AddTaskHandler class, can you inject an Interface, same way you did for ILogger, but that interface has been registered in the pipeline using AddScoped()? When I do that get error message like "Cannot consume scoped service 'IConcreteClass' from singleton 'AddTaskHandler'."
@gui.ferreira
Жыл бұрын
I guess it's a lifetime mismatch. You can fix it by either registering as Singleton: .AddScoped() Or, change the Typed Handlers lifetime with: .WithHandlerLifetime(InstanceLifetime.Scoped) You can see it here: farfetch.github.io/kafkaflow/docs/guides/middlewares/typed-handler-middleware#configuring-handler-lifetime Let me know if it doesn't help.
Great video! How do i do authentication with this? The docs have a demo on de c# side of things but how do i configure it on the kafka side of things?
@gui.ferreira
2 ай бұрын
You can find all authentication methods here: docs.confluent.io/platform/current/kafka/overview-authentication-methods.html
Great video!!! I am wondering where the messages are stored, since producer/consumer apps don't. I am thinking whether Kafka is good for "sync" database changes between 2 databases that should have "same data". For instance, when table X row Y changes, publish a message to Kafka so other app can consume it and update its own "version" of that table.
@gui.ferreira
23 күн бұрын
The messages are stored on Kafka. But keep in mind that there are retention policies in place. That scenario is one of the use cases for Kafka. Take a look at Kafka Connect and Kafka Streams.
@predigr
23 күн бұрын
@@gui.ferreira Oh, thank you for your reply and hints!
Nice video, i would really like to see how can i add a management api, and dashboard thanks
@gui.ferreira
8 ай бұрын
Hi! Take a look here: kzread.info/dash/bejne/qGGVqM2znKW8oKg.htmlsi=j3CYYJqDfYeASMAg&t=132
Is opentelemtry support built in? If not how would one go about plugging that in?
@gui.ferreira
Жыл бұрын
At the moment it's not built-in. Even then, I imagine that you could pull it out easily with a KafkaFlow Middleware.
Hey Gui! Thanks for the video. Would you still recommend this now as the way to do things? I know things move fast in the software development world so a year always feels old ! :D
@gui.ferreira
4 ай бұрын
Hey! If I had to create a Kafka consumer/producer today, I would keep using KafkaFlow. However, let me tell you that the company that builds KafkaFlow has been acquired. So, I don't know what is the long-term strategy moving forward. I hope they keep investing in it since it's an amazing framework.
I need to consume records from Kafka and save them through an web API; would that be done with a middleware and a handler? Thanks :)
@gui.ferreira
Жыл бұрын
Hi Nelson! The cool thing is that you can do it with a Middleware or a Typed Handler. Typed Handlers are Middleware in fact. Either way, if your records can be of multiple types, I would recommend using Typed Handlers.
can I have something related to AVRO Deserialization please step by step?
@gui.ferreira
4 ай бұрын
I will add to my pipeline.
can u do one video with manual commits?
@gui.ferreira
Жыл бұрын
Just added it to the content ideas board 😉
What VS theme is this?
@gui.ferreira
Жыл бұрын
It's not VS. It's JetBrains Rider
@AndrewOBannon
Жыл бұрын
@@gui.ferreira Ok. Thanks.