Lotus iNotes is an enterprise application, and as an enterprise application requires scalability
, high availability
. It can be integrated with a load balancer solution for distributing incoming client requests across a group of servers to achieve this goals with transparency to users and Lotus iNotes applications. When used with Lotus iNotes servers, a load balancer can help maximize the potential of Lotus Domino server by providing a powerful, flexible, and scalable solution to peak-demand problems. The main purpose of load balancing is to create a virtualized Lotus Domino iNotes server from a group of physical servers or partitioned Lotus Domino servers.
Scalability is the capability to dynamically or easily increase server capacity with additional number of server or power of server to provide support of high load requests without impacting existing performance and transparent to users.
High Availability (Failover) is the capability to remain available and accessible even during the failure of one or more system in the group. When one of the servers fails, client requests will be continually serviced by the other server with transparent to users. This eliminates any server as a single point of failure and makes the site highly available.
Predictability (Balance) is the capability to have control to distribute load equally across the group of server without overloading any server with transparent to users.
Lotus Domino Internet Cluster Manager for Lotus iNotes
Internet Cluster Manager (ICM) was introduced in Domino R5 enterprise release to serve as a liaison between the HTTP clients and the HTTP servers of a Domino cluster. The HTTP clients direct requests for a database to the ICM. The ICM maintains information on the availability of the Domino servers in the Domino cluster, and also maintains information about the distribution of databases on the servers. The ICM determines the best server to receive a particular client request and redirects the request to that server.
Two main reasons to use ICM:
1. Your organization might want to provide high availability to its customers using browsers to access Domino Web applications. Therefore, you would install the ICM to provide failover support for your Lotus iNotes servers.
2. Your organization might also want to provide scalability for its Domino Web applications. Therefore, you would install the ICM and utilize load balancing of browser clients accessing your Lotus iNotes applications.
A Load balancer or IP sprayer can be software based, for example Websphere Edge server, or a hardware load balancing solution, like a Cisco content redirector, F5 Big-IP. It acts as proxy server and distributes network or application traffic across a group of servers to increase capacity and reliability of applications. For users, they only can see the load balancer virtual service and actual Lotus iNotes servers are hidden behind. They improve the overall performance of applications by decreasing the burden on servers associated with managing and maintaining application and network sessions, as well as by performing application-specific tasks.
The load balancer is generally configured in one of the following ways to select a server for each incoming connection for load distribution and failover:
1. Load balancer can select one of the servers to evenly distribute the load with randomly or most available server by periodically probing. When a client connects to a specific server, the balancer can be configured for "sticky" connections for the client sessions to be retained.
2. Load balancer can be configured to select a specific server according to specific URL and switch to another server if the first selection in not available.
Why prefer Load Balancer to ICM solution
When a Lotus iNotes client makes a connection, Internet Cluster Manager (ICM) performs the selection algorithm or redirects, but does not act as a proxy server like a load balancer. A proxy server, like a virtual server, stays in the connection with the iNotes client, passes packets back and forth between the iNotes client and selected iNotes server. The iNotes client only knows the name or address of the proxy server. But ICM redirects and returns a referral to the web browser with the actual selected Lotus iNotes server. When the selected server fails, the Lotus iNotes client can not automatically create a connection with the returned referral address, but must re-attempt the connection to the original address of ICM to retry a connection with another available server. Because of this limitation, it is inconvenient for the Lotus iNotes end user and in most case customers prefer the use of a load balancer or IP sprayer solution. The figure below shows a simple model of high availability configuration for Lotus iNotes with load balancer.
Lotus iNotes deployment configuration with a load balancer.