I'm trying to figure out when it's better to use EventBridge over SNS for building a messaging hub. I read through some official AWS documentation, but I'm still a bit confused about the advantages of EventBridge. For instance, if I set up a flow like Event -> SNS -> SQS -> Lambda with some custom logic, I know I could switch SNS for EventBridge. But what would be the reasons to prefer EventBridge? Does it offer any significant benefits or features that make it the "modern SNS"?
3 Answers
There are definitely a few reasons you might lean towards EventBridge. For starters, if you want to route messages based on their content, it's a big win. For example, you could send purchase events to one queue and other events to a different one by creating specific routing rules. Plus, EventBridge lets you replay events from the past, which is super handy if you need to backtrack due to bugs or other issues.
Honestly, while EventBridge has a lot of features, SNS still holds its ground, especially for straightforward pub-sub scenarios. It’s probably a bit easier to work with for sending notifications or emails, while EventBridge shines in more complex situations.
If you need to send an event to an API endpoint, EventBridge is the way to go! Its pattern filtering is much more robust compared to SNS. But for simpler tasks like pub-sub messaging or sending notifications to something like Slack, SNS is still a solid choice.
Another thing to consider is cost. EventBridge is typically cheaper if you’re sending events to external HTTP(S) endpoints, which can save money if you're doing a lot of that.
That makes sense! But for simpler use cases, do you think EventBridge might feel like overkill compared to SNS? Is there any strong argument for sticking with SNS?