Discussions

Industry news: Advanced Clustering Techniques for Maximizing Availability

  1. Server clustering is critical to the on-demand operating environment and, in particular, to the Web infrastructure. Server clustering can be used to help achieve continuous availability of Web sites. A consideration in architecting the Web infrastructure is the physical placement of the Web
    server, the J2EE Web container, and J2EE EJB container processes. It is possible to have each
    process run on its own physical machine or node, or grouped on one or two nodes. The scenarios
    described in this paper follow the practice of placing the Web server process on its own node and the Web container and the EJB container on a second node.
  2. I wanted to find out what happens if the connections are stateful and one of the nodes fails. Does the client have to reconnect or the session state is transferred to another node?

    Are there hardware solutions that eliminate the need for the web balancer? The problem with the load balancer is that I need to open a socket for each client connection on the load balancer node. Having a number of processing nodes is it possible to configure the networking so that all nodes have the same IP address and the client connections are uniformly distributed between the nodes?

    Catalin Merfu
    http://www.accendia.com
  3. load balancing[ Go to top ]

    I wanted to find out what happens if the connections are stateful and one of the nodes fails. Does the client have to reconnect or the session state is transferred to another node?
    The connections are not the "stateful" part, by definition. Rather, the state is managed by the server as if a continuous connection were used. (This is the role of the HTTP Session, for example.)
    Are there hardware solutions that eliminate the need for the web balancer?
    Yes, there are hardware load balancers.
    The problem with the load balancer is that I need to open a socket for each client connection on the load balancer node.
    Why is that a problem? The sockets being open use very little resources .. modern hardware load balancers can [supposedly] easily handle hundreds of thousands of open sockets .. just turn "stateful inspection" off. (Note: You'll need to use a session management solution that doesn't require sticky load balancing, such as Coherence*Web, or you could unsticky load-balance to an Apache (httpd) tier which sticky load-balances to the J2EE tier.)
    Having a number of processing nodes is it possible to configure the networking so that all nodes have the same IP address and the client connections are uniformly distributed between the nodes?
    That is the purpose of a load balancer.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Clustered JCache for Grid Computing!