MassTransit Kafka with MongoDB Atlas and Confluent Cloud
Вставка
- Опубліковано 8 січ 2025
- MassTransit has full-featured support for popular event streaming platforms. In this new series, I show you how produce and consume messages to and from Kafka topics using MassTransit. Instead of my usual Docker setup, in this series I leverage Confluent Cloud for Kafka and MongoDB Atlas for saga persistence. Both of these platforms are Software-as-a-Service (SaaS) and offer free trials making it easy to get started.
Sample Project:
github.com/Mas...
Confluent Cloud: www.confluent....
MongoDB Atlas: www.mongodb.co...
MassTransit
Documentation: masstransit-pr...
Discord: / discord
Connect with me on Twitter:
/ phatboyg
Sponsor me on GitHub:
github.com/spo...
Chris I would love a more theoretical view on all of these topics that you are presenting. For example, what are Riders and when to use them or which Architectural decisions should lead to using Masstransit against including the technology references right in your project, etc.
A conversational video will be shared after the series completes that will go into using Kafka/Event Hub vs. a message broker. As for why you'd use MassTransit, there are a plethora of benefits beyond the vendor-provided SDKs that are too numerous to cover in a comment. MassTransit is a deep and rich product with so many features that would silly to build yourself on top of every transport available.
Chris Patterson, awesome stuff, I'm so stoked to see Kafka Riders receiving so much love lately!
My question is this: is there a way to setup killswitch+retries on a topic endpoint in such a way, so that no message would be skipped past(offset committed) in the event of consumer failure? Say consumer faces some downstream outage and we want to just cooldown partition processing for a while, letting downstream dependency to come back to operational state.
Yes, Kill Switch is actually configured in the sample.
Hello Chris! I'm finally following along but can't find the Postman collection. Can you add it to your repo please?