Wsp 3.0 is NOT
backward compatible with Wsp 2.1.
You need to install the Microsoft Visual C++ 2010 Redistributable Package. You can find it at:
Wsp now uses Rx (Reactive Extensions)
and .Net 4.0
I changed the topology from a hierarchy to peer-to-peer groups. This should provide much greater scalability and more fault-resilience. It also means event routing is more deterministic since the maximum number of hops is four. Today Wsp is installed on >9,000 production servers across 24 data centers. With this new topology, the goal is to support 100,000+ servers.
I changed the event format to a more standard format of standard headers, custom headers, and body. The two primary values to this format is you can apply event filtering based upon headers without having to deserialize the body itself. The second value is you can use your own serializor for the body (which is your object) which can be more performant than the built-in serializer. As an example, protobuf-net
might be a nice choice which can handle richer data structures and is more performant.
I implemented an Rx (Reactive Extensions)
interface for Wsp. If you choose to use Rx with Wsp, it means your events can go cross-process and cross-machine using a multicast paradigm. See the WspEventListenTest
examples for using Rx.
The entire config file format has changed. The config file is simplified for large installations and it now has the concept of groups. A machine can be in one of two roles: node or hub. If it's a hub then it needs to be specified as a hub in its group section. If it's a node, it will connect to one of the hubs specified in its group section. For fault-resilience, you would want at least 3 hubs per group and they should be able to support ~500 nodes.
To use the built-in logging feature in Wsp, you need to use the Wsp serializer for your event body so it knows how to deserialize your event.
I still need to write an installation document. In the meantime, feel free to ask questions.