◷ Reading Time: 5 minutes
FlexRule Server can be used with an Azure Load Balancer to support high-availability for requests from client applications.

Why use Multiple Master Nodes?
Using multiple Master Nodes in separate virtual machines in Azure is useful under certain conditions such as when a virtual machine is under heavy load or unavailable. In these conditions, traffic can be routed to other virtual machines.
In this strategy, the master nodes (virtual machines with FlexRule Server Master) sit behind a load balancer which handles routing of traffic between multiple master nodes. All master nodes connect to the same database, and therefore have access to the same pool of agent nodes they can use to execute services.

Configure a Load Balancer
1. Create a Load Balancer

4. Create an Availability Set

5. Create Virtual Machines
Use the instructions to Install FlexRule Server on Azure VM to create your virtual machines with some modifications to their configuration detailed below.
For the two Master Node virtual machines:
- For Basics > Instance details > Availability options, choose
Availability set
. - For Basics > Instance details > Availability set, choose the Availability Set you have created previously.

3. Create a Backend Pool
Navigate to [Your Load Balancer] > Settings > Backend pools > Add.
Add the two Master Node virtual machines you created and click Save.

6. Add Health Probes for each port
Navigate to [Your Load Balancer] > Settings > Health probes > Add.
Add a health probe for the Master API port and the Workbench port.

7. Add Load Balancing Rules for each port
Use the relevant health probe for the port you are adding the load balancing rule for.

8. Associate the database with the Virtual Network
Navigate to [Your FlexRule SQL Server] > Firewalls and virtual networks.
Click on + Add existing virtual network.
Create a virtual network rule by choosing the virtual network that contains your virtual machines.

9. Install FlexRule Server
You will need to install two masters and one agent:
- frsmaster01 – FlexRule Server Master
- frsmaster02 – FlexRule Server Master
- frsagent01 – FlexRule Server Execution Agent
Use the instructions to Install FlexRule Server on Azure VM and then make the following changes in each virtual machine’s FlexRule Server configuration file.
Master Nodes
In each Master Node virtual machine open the FlexRule Server Master configuration file and change the WorkbenchAuth value to the Load Balancer’s Public IP (or DNS name label) followed by the port number for the Master API.
e.g. Open C:\Program Files (x86)\Pliant Framework\FlexRule Server\8.0.130\Master\FlexRule.Server.Master.dll.config

Agent Nodes
In each Agent Node virtual machine open the FlexRule Server Agent configuration file and change the MasterAddress value to the Load Balancer’s Public IP (or DNS name label) followed by the port number for the Master API.
e.g. Open C:\Program Files (x86)\Pliant Framework\FlexRule Server\8.0.130\ExecAgent\FlexRule.Server.ExecAgent.dll

You should now be able to use it’s Public IP address in order to make requests to Master nodes.