Excellent description of these technologies! It really gave insight into what to use when. Thanks for the tip and your talk at the ndc in oslo, really inspiring! 😊
Thanks a million James. I agree with the other commenter that this is the best explanation on this topic. You have an outstanding ability to explain complex subjects in a way that is easy to follow. I'm very lucky to have found your channel!
Thanks James, this is great! Quick question, you mentioned for a stream it’s important that a DB is setup on both services, is that the case for queues and service buses too?
Yes, absolutely. Basically you don't want to be relying on your message channel as a persistent data store. Many streams will retain data for period of time, but they aren't databases.
Very clear breakdown! When using an event bus (not combined with a queue), does every instance of a consumer receive a message typically? Or is it load balanced to a single instance?
Great question. Typically an event bus is there to fan a single event out to lots of different subscribers. So yeah, if you had multiple instances of the same app subscribed directly to the bus with the same configuration I'd expect them all to receive the same events.
Great video as usual James, thanks for this. I have a side question for you, I made a wager with my colleague that c# AOT 8.0 is superior to NodeJS's Latest version on AWS in terms of performance. Who do you think wins?
I'd be confident .NET 8 Native AOT will be more performant, simply because it's a natively compiled binary as opposed to node which is an interpreted language. Max's Lambda perf benchmarks seem to back that up, if you're talking pure performance. maxday.github.io/lambda-perf/