A notification service that efficiently scales to the number and variety of notifications
and users being serviced. The notification service is separated into three general
functional components. A listener component receives a notification in a network
format suitable for transmitting the notification over a network. The listener
component translates the notification into an internal processing format used by
the notification service. The notification is then forwarded to a routing component
that determines a category associated with the notification, and performs a set
of one or more operations on the notification based on its category. Finally, the
notification service is forwarded to a delivery service for delivery of the notification
to the notification sink. The listener component, the routing component, and the
delivery component may each be scaled in order to adjust for current processing
loads using load balancing functionality.