Velocity is a Microsoft project; in CTP2, its goal is to
provide a distributed, performing and highly available cache to our
applications. Velocity could be integrated in Web and Desktop applications as
well. And thanks to a simple API, it is possible to perform basic operations
like putting and getting managed objects from cache, and also more complex
operations like locking and searching by several criteria.
One of the features that make Velocity an interesting
project is High Availability. This is obtained creating and using a cache
cluster, made of multiple servers that together run distributed cache service,
transparently managing in-memory storage of our managed objects, their
consistency, search and optionally the confinement in specific regions and
servers and, in the case of sudden server failure, the redundancy by storing
copies of our cached objects on secondary servers.
To better understand Velocity and compare it against
existing cache frameworks, I have built this feature
matrix.