What's New for CTP3 (Velocity)
[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]
For community technology preview 3 (CTP3), Microsoft project code named "Velocity" offers several enhancements and a new API. The enhancements include a cache notifications feature, performance improvements, security enhancements, and new cluster management options. There have also been updates to the installation program. Perhaps the most material change for the "Velocity" administrator is that your options for editing the cluster configuration settings have been decoupled from your options for storing the cluster configuration settings.
When using local cache to store data that changes infrequently, you no longer have to wait for the configured timeout before the client pulls the latest object from the cluster. Using cache notifications, the object in the local cache automatically invalidates as soon as it is notified that the object has changed. This greatly reduces the possibility that your application is working with stale data.
When caching data that changes frequently, you may want your applications to perform certain tasks based on various cache operations. For example, you may want your application to do something specific when a cached object is added, replaced, or removed. You might also want your application to do something different when a region is added, cleared, or removed from the cache. Specifying an event-triggered task is now possible with cache notifications. For more about cache notifications, see Cache Notifications (Velocity).
Throughput, latency, and memory usage have been further optimized to improve performance for your applications.
The cache host Windows service now runs under a lower-privileged account: Network Service. To simplify deployment, the installation program now helps to configure the permissions of installation folders and the cluster configuration storage location. You still need to be an administrator on the cache servers and cluster configuration storage location in order to install "Velocity." For more details about installation, see Installation Overview (Velocity).
Although these efforts help to secure the cache cluster; they are not enough to protect it from malicious activity. "Velocity" is designed to be operated in the datacenter, within the perimeter of the corporate firewall. Data transfer is not encrypted and is at risk of network "sniffing" and "replay" attacks.
New Cluster Management Options
Previously, only lead hosts could manage the cache cluster operations. Now, when using SQL Server to store the cluster configuration information, you have the option to let SQL Server perform the cluster management role instead of the lead hosts. This option improves supportability and availability of the cluster, eliminating the possibility of the cluster going down due to an insufficient number of (running) lead hosts. For more information, see Lead Hosts and Cluster Management (Velocity).
Updates to the Installation Program
To streamline deployment, the installation program now supports automated installation for the cache host. For more information, see Automated Cache Server Installation (Velocity).
Cluster Configuration Editing Options Decoupled from Storage Options
Previously, how you chose to store your cluster configuration settings in the cluster configuration storage location dictated the options available to you for editing those configuration settings. Now, regardless of where you store your cluster settings, you can change those settings with the PowerShell-based cache administration tool or by directly editing an XML representation of the cluster configuration.
Along with this paradigm shift, the option to store the cluster configuration settings in XML (the cluster's "working copy") has been removed. Now you can use XML to edit the configuration settings when you choose to store your cluster configuration settings in a SQL Server database or a SQL Server Compact data file in a shared network folder. For more information, see Configuring the Cache Cluster (Velocity).
With this change, your decision for the cluster configuration storage location can be based on application availability requirements and the resources available to your application (that is, how challenging it would be to procure an instance of SQL Server that your distributed cache cluster could use). For more information, see Cluster Configuration Storage Options (Velocity).
A New API
To minimize changes in the following release, the "Velocity" API has been changed to enhance usability and more closely resemble the naming conventions of other Microsoft namespaces. The namespace of "Velocity" has been changed to Microsoft.Data.Caching. Additionally, all class and delegate names have been renamed to include the prefix DataCache. Along with the name changes, many overloads have also been changed. For more details about the CTP3 API changes, see CTP3 API Changes (Velocity).