(this post was contributed by Nick Nieslanik, Senior Software Engineer on the MDS team).
Many production environments will want to configure Master Data Services (MDS) in a load-balanced Web Farm for scalability and performance reasons. This blog entry will walk through configuring MDS to run with Internet Information Services v7.x Application Request Routing (ARR), a software load-balancer.
To configure an MDS web farm, you'll need at least three IIS Web Servers available. Assign one of these servers the task of being the IIS ARR server. The remaining servers will serve as MDS web application servers. Please note that you’ll want a centrally located MDS database that all MDS application servers are configured to use. Once the servers are allocated, please follow the steps indicated below.
Install ARR v2 on the allocated ARR server by following steps 1 through 3 located here. Reboot the server after finishing the installation steps in the link provided.
Install and configure Master Data Services on the allocated application servers. Detailed setup and configuration settings are located here.
Create an MDS server farm on the ARR server. Detailed steps for configuring an ARR server can be found here. Please ignore the Health Test section in step 2 of the ARR configuration page as we’ll cover that below.
Once the server farm is created, the Server Affinity setting must be changed to allow Master Data Services to work correctly. To do this, perform the actions below.
- Select the server farm created earlier in Step 3 and double click the Server Affinity feature.
- Once in the Server Affinity panel, check the "Client affinity" checkbox if it is not already checked and choose a unique cookie name for the server farm.
- Click Apply in the upper right hand corner.
Perform a server farm health test from the ARR Server. To do this, click the MDS server farm created in Step 3 and select Health Tests from the Features view and follow steps 1 & 2 here. This link will also elaborate on the Client Affinity setting configured in Step 4. When creating the healthCheck.txt test file, please place it into the default web site root rather than the MDS web application folder.
ASP.NET SQL Session State is not currently supported. Thus Client Affinity must be set as described in Step 4 for MDS to work correctly in a Farm scenario.
ARR v2 x86: http://download.microsoft.com/download/4/D/F/4DFDA851-515F-474E-BA7A-5802B3C95101/ARRv2_setup_x86.EXE
ARR v2 x64: http://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ARRv2_setup_x64.EXE
ARRv2 RTW Announcement: http://forums.iis.net/t/1162464.aspx
ARRv2 Installation: http://learn.iis.net/page.aspx/482/install-application-request-routing/
ARRv2 Configuration: http://learn.iis.net/page.aspx/485/define-and-configure-an-application-request-routing-server-farm/
ARRv2 Load Balancing: http://learn.iis.net/page.aspx/486/http-load-balancing-using-application-request-routing/
MDS Installation and Configuration: http://sqlblog.com/blogs/mds_team/archive/2009/12/10/installing-and-configuring-master-data-services-2008-r2-november-ctp.aspx