Configuration Model (Velocity)

[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Microsoft project code named "Velocity" supports many cache configurations. Configuration details are specified at three levels: in the application, in the cache host, and in the cache cluster. "Velocity" also offers many options for specifying and storing the configuration details that are used by the cache cluster and the client application.

Application Configuration

Each cache-enabled application must have its cache client configured in order to use the cache cluster. You can do this programmatically in application code or by specifying it in an application configuration file that you add to your Visual Studio project. If you do both, settings specified in application code take precedence over the application configuration file settings.

The application configuration settings identify which cache hosts should be contacted in order to communicate with the cache cluster. The application settings are also used to enable local cache. For more information, see Application Configuration Settings (Velocity).

Note

Cache clients should be used only by applications residing on application servers in your datacenter, within the perimeter of the corporate firewall. Communications between cache servers and cache hosts is not encrypted and is vulnerable to malicious network "sniffing" and "replay" attacks.

We highly recommend that you secure the XML-based application configuration files used to specify the cache client. Data in the cache is not encrypted and is available to any cache client that has the appropriate configuration settings.

Cache Host Configuration

Each cache host uses a configuration file that is named DistributedCache.exe.config. This file is automatically created and configured when "Velocity" is installed on the cache server. The DistributedCache.exe.config file is used to store settings that are required for the software to run. For example, some settings specify where the cache host can find the cluster configuration storage location and how log sinks should be configured. You will not have to edit this file unless you want to change the log sink settings. For more information, see Cache Host Configuration Settings (Velocity).

Note

When you use a SQL Server database to store cluster configuration settings, the SQL Server connection string is stored in clear text in the DistributedCache.exe.config file. Whenever possible, use Windows integrated security to secure the database so that passwords are not required in connection strings.

Cluster Configuration

All cache hosts in the cluster need access to the cluster configuration storage location. The cluster configuration information specifies settings for the cache hosts and named caches. The cluster configuration details are first established during the installation of the first cache host, and are automatically updated with subsequent installations.

There are two storage options available for cluster configuration information. As seen in the following table, cluster configuration settings can be stored in a shard network folder or a SQL Server 2005 or later database. It is only when you use the SQL Server storage location that you can let SQL Server perform the cluster management role.

Storage type Storage location Cluster management

SQL Server Compact data file

shared network folder

lead hosts

SQL Server database

SQL Server

SQL Server (default) or lead hosts

Choose the option that best meets the needs of your application and infrastructure. For more information, see Cluster Configuration Storage Options (Velocity).

Regardless of the storage option that you choose, you can edit the configuration settings with the PowerShell-based cache administration tool or by directly editing an XML representation of the cluster configuration settings. For more information, see Configuring the Cache Cluster (Velocity).

See Also

Concepts

Configuration (Velocity)
Physical Model (Velocity)
Logical Model (Velocity)
Programming Model (Velocity)

Other Resources

Cache Concepts (Velocity)