A farm is a virtual service that Zen provides as a load balanced front-end to any real service you wish to offer. For example, if you wish to run two SMTP mail servers which Zen will act as a load balancer for you will setup a single Farm for each IP address and port number that you will want users to connect to. In this example you would setup a new farm on port 25 (or whatever port you use for SMTP) on one of the IP addresses that is assigned to the Zen box. Then two real servers would be setup in this farm pointing to the IP address and ports to the two real mail servers that are running on your network.
To accomplish the above the first step is create a Farm in the Manage > Farms section. If no Farms exist in your system you will automatically be shown the “Configure a new Farm” section. There is no limit to the number of Farms you can configure in Zen. Fill out the following parameters for your new virtual service:
- Farm Description Name: is a descriptive field for your new Farm
- Virtual IP: Select an existing IP or assign a new one via the provided link
- Virtual Port: The port on which the service will listen for incoming connections
If you added a Farm you can see a table with “Farms Table” header, with “Actions” column, you can stop, start, edit, delete, manage or add a new Farm. The Status column shows the status of the Farm, depending to this column the actions icons can change, for example, you ONLY can manage or edit a Farm when the status is “Up”.
- Editing A Farm
Editing a Farm will allow you to modify all of the connection properties for that particular farm. Each item is explained below:
- Connect timeout in seconds: Seconds that the Virtual IP will wait for a Real Server response.
- Load Balance Algorithm:Select a algorithm the load balancer will used to route traffic to your real servers. For the latest definitions follow this link.
- Max number of clients that manage in Virtual IP: This is maximum amount of client ips that can be memorized for persistence. This is used for farms with tcp persistent sessions, (http(s) for example). In Zen v1rc2 there is a new field added called TTL. This field is the timeout for persistent session memorization. The default is 0 which means sessions do not timeout and will be stored in the system for future use. This is not a limit on the active connections (sessions) which is below.
- Max number of simultaneous connections that manage in Virtual IP: This is maximum amount of concurrent connections that the Farm can process. The limit is 32760 simultaneous connections from Zen 1 version rc2.
- Max number of real ip servers: This is the number of real ip servers that the farm can contain. This can be modified at any time and you can add/edit/delete real servers in the real servers section.
- Add X-Forwarded-For header to http requests: Checking this box will include a X-Forwarded-For header to each http request processed through the load balancer.
- Use FarmGuardian to check Backend Servers: Explained further below, checking this box will enable more advanced health/heartbeat checking for each real server in this farm.
- Farm Virtual IP and Virtual port: Based on the original IP and Port indicated when the Farm was created you can modify these as needed.
- Editing Real Servers
Under the header “Edit real IP servers configuration” you can edit the real server, modifying it’s address, port, max connections, weight (used by the load balance weight algorithm), priority (used by the load balance priority algorithm), delete a real server, or add new server (limited by the “Max number of real ip servers” field in the Farm configuration).
- Managing A Farm
There are 3 tables in this section: Real IP servers status, Active clients and Active connections. Using the + or – icons you can maximize or minimize the table section if is necessary.
- Real IP servers status: You can see the backend servers status, number of active connections in progress bar mode, data information about mb send and mb received and values about weight and height algorithm that you can modify in edit farm section. You can change the number of real server slots listed by modifying the Max number of real ip servers value in the edit farm section.
- Active clients: You can see the number of clients that are memorized (not necessary connected) to each backend server. The max number of clients that can connect (sessions) is configured in the farm settings. If the amount in the age column is greater than the configured TTL value (this option was added in Zen v1rc2 under farm settings), the session will be deleted if necessary for use with a new sessions. If the TTL is set to 0 sessions will never expire. The + and – icon can show or hide the details for this table as well.
- Active connections: You can see the active connections to the farm. This setting is managed through the Max number of simultaneous connections in the Farm edit section. Using these figures you can monitor the number of connections to the Farm and modify your limits if necessary.
This section simply shows a global view of the servers. If you need to take a server offline for maintenance you can modify port value above and the load balancer will not send connections for this server.