1

Would it be fair to say that an event grid is just a subset of a service bus ? I am finding that service bus can do everything that an event grid can do and much more.

3
10

Would it be fair to say that an event grid is just a subset of a service bus?

I wouldn't try to equate these services. They both deal with messages but have a very different purpose. As well as implementation details when it comes to usage.

Azure Service Bus is an enterprise messaging product. It covers queuing, pub/sub, and has multiple compute based features. Receiving is done via polling (long polling) and usually, a namespace is accessed within/by a single organization.

Azure Event Grid is a notification service. Its sole purpose is to enable pub/sub between event generators and subscribers. It has no queuing semantics. Message delivery is push-based and only a few compute based features are available unlike with Service Bus. The service is design to allow communication between multiple parties and can span multiple organizations as published and/or subscribers.

I am finding that service bus can do everything that an event grid can do and much more.

It might look that way, but not quite. Azure Service Bus and Event Grid limits and constraints are quite different. For example, an Azure Service Bus namespace is constrained to a single region. Event Grid is global and doesn't have that kind of constraint. Service Bus has a limited number of connections required to poll the messages where Event Grid has a much larger number of subscribers that can be pushed messages. Naturally, the delivery method is different (poll vs push), and more.

If you need pub/sub within an organization, Service Bus would do. Once you need to push notifications about certain events outside of the organization, that's where Event Grid shines. The two can also be mixed. Events from Event Grid can be queued up using Service Bus queues or topics for levelling workloads.

2
  • can you compare event hub as well with event grid/service bus ? THanks – Captain Jack sparrow Jul 23 '20 at 7:42
  • 2
    Event Hubs is an ingestor. It's purpose is to allow capturing a large volume of messages (think telemetry type of volume) for processing. The most noticeable difference is that data is stored and not delivered anywhere. You would need to create "readers" and manage the cursor yourself. Alternatively, data can be offloaded into Storage account or Data Lake for later processing. I usually differentiate between EH and EG by focusing on the value of a single event. With EH a single event is meaningless. The stream as a whole is important. With EG every event is important as it has business value. – Sean Feldman Jul 24 '20 at 6:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.