The Web Solutions Platform (WSP) event system is a general-purpose distributed publish/subscribe event system designed for high performance and low latency. Publish/subscribe is a common communication pattern though there are many variations to solve different
scenario requirements. The event system provides the developer with a class library paradigm for publishing and subscribing to events. The events are developer-defined .Net classes which sub-class from the base event. This makes the system both easy to use
and very extensible.
WSP is currently installed on >9,000 production servers in Microsoft. A real-time monitoring application uses the event system for communications and monitors 100% of the IIS requests. Within 3 seconds, all http requests across all servers and all datacenters
are aggregated, displayed on a console, and able to instigate alerts.
With one line in the config file, events can be persisted to a log file in a form ready to BCP into SQL.
The latest performance results that I have achieved using a 50 property .Net object (event object) on my development machine are:
* 40,000+ events / second to publish (includes serialization) with no listener
* 23,000+ events / second to publish (includes serialization) while persisting at 8,000+ events / second (includes deserialization and serialization)
* 20,000+ events / second to publish (includes serialization) and sending across machines at 4,000+ events / second with latency <1ms
Tags: architecture, BizTalk, distributed systems, ESB, event systems, eventing, Events, messaging, metrics, monitoring, networking, pub/sub, publish/subscribe, remoting, routing, Web Services, webservices, Rx (Reactive Extensions)