# Functions
CheckHealth - Periodic check on nodes status.
GetUpstreamNode - Returns backend server using current algorithm.
Init - Initialise the LB algorithm.
InitIpHash - Initialise the LB algorithm for ip-hash selection.
InitLeastConnection - Initialise the LB algorithm for least-connection selection.
InitRandom - Initialise the LB algorithm for random selection.
InitRoundRobin - Initialise the LB algorithm for round robin selection.
NewIpHashBalancer - Creates a new instance.
NewLeastConnectionsBalancer - Creates a new instance.
NewRandomBalancer - Creates a new instance.
NewRoundRobinBalancer - Creates a new instance.
# Constants
TODO: make it customizable.
TODO: make it customizable.
# Variables
ErrNoAvailableItem no item is available.
# Structs
IpHashBalancer instance.
Item - Represents a load balanced node.
LeastConnectionsBalancer instance.
NodeBalancer - Core structure for a load balancer.
RandomBalancer instance.
RoundRobinBalancer instance.
# Interfaces
Balancer - Represents a Load Balancer interface.
# Type aliases
LoadBalancing - Contains the multiple instances for the active servers.