Loading...

Recommended reading 

This topic describes how to install a new node of Episerver Commerce in an environment that uses load balancing. You install it from the Episerver Deployment Center.

Prerequisites

  • A working Episerver Commerce site, with or without Commerce Manager, running on server A. The Episerver CMS and Commerce versions must match the version installed on  server B.
  • Do not install Episerver Commerce load balancing on a database shared between Commerce applications. Make sure you disable other Commerce applications before proceeding. You can go to <eCF database>\dbo.Application and set the IsActive value of other applications to 0.
  • The site on server A must be configuration-ready for load balancing. By default, CMS sites do not support load balancing, so you need to modify the configuration for content and cache updates, shared VPP data, and authenticated/unauthenticated session states.
  • From server B, you must have access rights to the databases of sites running on server A.

Installing Episerver Commerce for load balancing

  1. Open the Episerver Deployment Center, go to the appropriate version of Episerver CMS, and expand the Modules section to see the options.
  2. Select the Install new node of EPiServer Commerce ... on load balancing option and click Run.

    Load Balancing Installation

  3. When you select this option, you can choose installation features for the new Episerver Commerce site:
    • EPiServer CMS and Commerce core. This option is mandatory and always selected.
    • Commerce Manager. Optional.

    Click Next to continue.

    Load Balancing Installation

  4. Choose the options for the CMS site. See the installation instructions for Episerver CMS if you need more information. Click Next to continue.

    Load Balancing Installation

  5. Choose the options for the CMS database. This must be the CMS database that is being used on site A. Be careful to select the right database, because you cannot verify the selected CMS database. The login can be new or existing. Click Next to continue.

    Load Balancing Installation

  6. Select an Episerver license file to use (optional at this point).
  7. Choose an existing Commerce database, the one that is being used on site A, which must be a valid, working database of Episerver Commerce. The login can be new or existing. Click Next to continue.

    Load Balancing Installation

  8. This step is displayed only if you chose to install Commerce Manager. You need to input all the information. Click Next to continue.

    Load Balancing Installation

  9. A summary of the installation is displayed. Click Next and wait for the installation to finalize.

Configuring Episerver Commerce for load balancing

  1. Share the Lucene search index folder among two or more load-balancing sites. By default, the LuceneSearchProvider stores the search index folder locally.
    1. Move the search index folder (\App_Data\SearchIndex) of site A to a shared location. The search index folder is originally located at the Commerce Manager site folder (if Commerce Manager is installed), or at the front-end site folder (if Commerce Manager is not installed).
    2. Update the LuceneSearchProvider section in the <Front-end site A folder>\Configs\Mediachase.Search.config:
      <add name="LuceneSearchProvider" 
       type="Mediachase.Search.Providers.Lucene.LuceneSearchProvider, Mediachase.Search.LuceneSearchProvider"
       queryBuilderType="Mediachase.Search.Providers.Lucene.LuceneSearchQueryBuilder, Mediachase.Search.LuceneSearchProvider"
       storage="<SharedSearchIndexFolder>App_Data\SearchIndex" simulateFaceting="true" />
    3. Update the Indexers basePath to the shared search index folder:
      <Indexers basePath="<SharedSearchIndexFolder>App_Data\SearchIndex">
        <add name="catalog" type="Mediachase.Search.Extensions.Indexers.CatalogIndexBuilder, Mediachase.Search.Extensions" /> 
      </Indexers>
    4. If Commerce Manager is installed, update the <Commerce Manager site A folder>\Configs\Mediachase.Search.config as above.
    5. After installing site B and if Commerce Manager is installed, update <Front-end site B folder>\Configs\Mediachase.Search.config and <Commerce Manager site B folder>\Configs\Mediachase.Search.config, if Commerce Manager is installed.
    6. Allow read and write access for the site B application pools (both front-end site and Commerce Manager site) to the shared location folder.
  2. Share assets among two or more load balancing sites.
    1. Move the BlobStorage folder of site A to a shared location. The BlobStorage folder is originally located at Commerce Manager site folder if Commerce Manager is installed, or at front-end site folder if Commerce Manager is not installed.
    2. Update the storageProvider section in the <Front-end site A folder>\Configs\baf.config:
      <add name="DiskBlobStorageProvider"
       type=" Mediachase.BusinessFoundation.Blob.DiskBlobStorageProvider, Mediachase.BusinessFoundation"
       allowSearch="False" basePath="<SharedLocation>\BlobStorage" />
      <add name="SqlBlobStorageProvider"
       type=" Mediachase.BusinessFoundation.Blob.SqlBlobStorageProvider, Mediachase.BusinessFoundation"
       allowSearch="True" />
      <add name="PublicDiskBlobStorageProvider"
       type=" Mediachase.BusinessFoundation.Blob.PublicDiskStorageProvider, Mediachase.BusinessFoundation"
       allowSearch="False" basePath="<SharedLocation>\BlobStorage\Public" />
    3. If Commerce Manager is installed, update the <Commerce Manager site A folder>\Configs\baf.config as above.
    4. After installing site B and if Commerce Manager is installed, update <Front-end site B folder>\Configs\baf.config and <Commerce Manager site B folder>\Configs\baf.config.
    5. Allow access (read and write) for the site B application pools (both front end site and Commerce Manager site) to the shared location folder.
  3. Update hashAlgorithmType.

    Episerver 7.5 uses HMACSHA512 as the default hashAlgorithmType, which has changed from previous releases. Therefore if one (or more) of your sites are upgraded from the previous release, and the other(s) are new Episerver Commerce 7.5 sites, make sure they all have the same hashAlgorithmType. Otherwise, users might not be properly authenticated.

  4. Other considerations.
    • The installation sets the VPP folder to a hard-coded value, such as C:\EPiServer\VPP\<YourSiteName>.
    • Commerce Manager, if installed, does not have load balancing. This means that, although the sites share a database, they are separate sites.

Deploying templates

After installation, you have a core Commerce site, and you need to deploy the templates to the site to make it run. Because the two sites share data, including users, catalogs and orders, you only need to deploy files and configurations. You do not need to import catalog or data packages.

Related topic

Do you find this information helpful? Please log in to provide feedback.

Last updated: Oct 12, 2015

Recommended reading