High-availability setup of Neptune DXP - Open Edition

Goal

ha setup win diagram

Prerequisites

  • You have two hosts with Windows Server 2019.

  • You have static IP addresses. They cannot be configured as DHCP due to network load balancing (NLB) restrictions.

  • You have installed Node.js Node.js | Prebuilt Installer.

  • You have Microsoft SQL Server 2012 SP4 running in a different host from the ones to hold Neptune DXP - Open Edition.

  • You have a shared folder in a different host from the ones to hold Neptune DXP - Open Edition.

  • The shared folder is connected to a drive unit, being the same on all Neptune DXP - Open Edition instances.

  • The shared folder contains an empty folder that will be used for storing npm modules. These cannot be located in the root folder of the unit.

Procedure

Install Neptune DXP - Open Edition

  1. Install Neptune DXP - Open Edition in both Windows servers, following the Installation guide for Neptune DXP - Open Edition.

  2. Set up the database in both Neptune DXP - Open Edition instances pointing to the Microsoft SQL Server, as described in Microsoft SQL setup for Neptune DXP - Open Edition.

  3. In Neptune DXP - Open Edition, in Custom Settings set Path to NPM installation to the network share folder for npm modules.

  4. Restart both Neptune DXP - Open Edition instances to reflect all npm changes.

    npm directory

Enable network load balancing (NLB)

  1. In both Windows servers, run the following command in Windows PowerShell.

    Install-WindowsFeature NLB -IncludeManagementTools

    Output:

    NLB installation
  2. In one of the servers start nlbmgr.exe.

    NLB manager
  3. Select on Cluster > New cluster and add the IP address of the first Windows server node.

    NLB manager
  4. Select Connect and then Next twice (also in host parameters).

    NLB manager
  5. To add a cluster IP address, select Add.

    NLB manager
  6. Select Ok and Next and then select Multicast as operation mode.

    NLB manager
  7. Select Next. Now, you could set the port numbers to be balanced among the Windows servers when some other host connects to the cluster IP.

    NLB manager
  8. Edit and set to just the HTTP port Neptune DXP - Open Edition is going to listen : TCP 8080.

  9. Set affinity to none, so all new connections are balanced even coming from the same source IP address.

    Edit ports
  10. Rightclick on Cluster > Connect to Existing. Add the other instance IP address and finish.

    Add host

Now, each host will deploy to their own IP address and both of them will reply to the cluster IP address. If desired, set a DNS name pointing to this cluster IP address.