Configuring IIS 7.5 to Load-Balance a LiveCycle Cluster
To configure Apache Web Server, see here.
Microsoft Windows Server 2008 R2 comes with IIS 7.5
IIS 7.0 comes with Windows Server 2008. Microsoft re-architected IIS in version 7.0 to be more modular like Apache Web Server. Metabase was removed.
As a result, configuring IIS 7.5 to load-balance a LiveCycle cluster (whether it is WebSphere, WebLogic or JBoss) is now simple and straightforward. You don’t need to make any changes on the J2EE app servers.
The following instructions assume that the IIS 7.5 instance is dedicated. For a shared IIS instance/farm, you will have to modify some of these instructions. Also, Microsoft’s AppCmd can be used to script all of these. AppCmd is a command line utility to manage IIS via commands and scripts. It is different from PowerShell.
For handling complex environments, the URL Rewrite module will be very useful.
1) Add the role “Web Server (IIS)” on Windows Server 2008 R2
- Use the menu Administrative Tools->Server Manager
- Choose Roles (there are about 17 roles defined in Windows Server 2008 R2 standard edition)
- Add Roles, then Web Server(IIS)
- Make sure “Directory Browsing” is unchecked (it is checked by default)
- Check “HTTP Redirection”
- Click Install
- Re-start the server
2) Install Application Request Routing (ARR)
You can download it here. Once downloaded, run ARRv2_setup_amd64_en-us.exe Once finished, check the install log in %USER_TEMP% and make sure that all of the components installed fine. You don’t want to see the following:
rewrite_amd64_en-us.msi Failed Status Code 1603
webfarm_amd64_en-us.msi Failed Status Code 1603
requestrouter_amd64_en-us.msi Failed Status Code 1603
ExternalDiskCache_amd64_en-us.msi Failed Status Code 1603
3) Using IIS Manager, create a new “Server Farm”
Start Internet Information Services (IIS) Manager. If the installation of Application Request Routing is successful, you should see a new node in the left pane under “Sites” called “Server Farms”.
- Create a new “Server Farm”
- Name it with something meaningful like LC_TEST_CLUSTER
- One by one, add all of the members of your LiveCycle cluster. For each, make sure that you click the ‘Advanced Settings” and provide the completely qualified DNS name (eg: server1.company.com), HTTP port (eg: 8001 for WebLogic) and HTTPS port (eg: 8002) of each of the cluster members.
- Save the “Server Farm” definition. Say “Yes” to the creation of an InBound URLRewrite Rule.
4) Configure the new “Server Farm”
- Click on the new Server Farm. On the right pane, dbl-click ‘Caching’. Make sure that for ‘Query String Support’, “Include Query String” is chosen.
- On the right pane, dbl-click ‘Load Balance’. For ‘Load Balance Algorithm’, you can choose “Weighter Round Robin” or another that makes sense to your environment (test). For ‘Load Distribution’, you can choose “Even Distribution”. If the cluster members are not all alike in their capabilities, you can choose “Custom Distribution” and assign a higher weight to a more capable cluster member so that more requests get routed to it.
- On the right pane, dbl-click ‘Routing Rules’. Make sure that the checkbox for “Use URL Rewrite to inspect incoming requests” is checked. If it is not, check it and click ‘Apply’ on the top right to save.
- On the right pane, dbl-click ‘Server Affinity’. Make sure that the checkbox for “Client Affinity” is checked.
- Exercise your application from multiple client machines (with different IP addresses)
- Verify in IIS Manager. Click on the Server Farm. On the right pane, dbl-click ‘Monitoring and Management’. Check under the column ‘Total Requests’ and make sure that all members of the cluster received requests.
Original article at http://blogs.adobe.com/livecycle/2011/03/configuring-iis-7-5-to-load-balance-a-livecycle-cluster.html.
Comments are closed.