The document discusses requirements and infrastructure considerations for setting up a large-scale eSobi site. It covers clustering, load balancing, failover, and session persistence strategies. The proposed infrastructure would be highly scalable and fault-tolerant with in-memory session replication and pluggable load balancing policies. A testing infrastructure is also recommended to ensure quality and reliability of the large-scale site.
3. Large-scale Site Requirement
Requirement
High availability
High scalability
Considered
factors
Clustering
Load Balancing
Fail Over
Session Persistence
4. Clustering
What kind of clustering (Topology)
What kind of communication
Vertical scaling
multiple server running on single machine
Horizontal scaling
multiple machines in the cluster
One-to-Many Communication Using IP Multicast
Server Communication Using IP Sockets
What tier should clustering
Web server
Application server
Database server
5. Load Balancing
Which
Round-Robin DNS
kind of strategy
cheap, easy setup, and simplicity
no server affinity support
no support for high availability
Hardware
expensive, complex setup, and single point of failure
server affinity support
support for high availability
metrics
7. Fail Over
Solution
Request-level fail over
when one server goes down, all subsequent
requests should be redirected to the remaining
servers in the cluster
Session-level fail over
when one server goes down, another server
should be able to carry on with the sessions that
were being handled by the first server
8. Fail Over
Factors
How are server failures detected
When is it right time to fail over and try another
server
What about system and application state at the
failed node
10. Session Persistence
Factors
How is state communicated
How often is it communicated
How is object state materialized
Is the state persistence mechanism efficient
Consistency of replicated state
Any network constraints in replicating the session
state
11. Proposed Cluster Setup I
Highly
scalable
Fault-tolerant
Dynamically configurable
Automatic cluster member discovery
In-memory session state replication
12. Proposed Cluster Setup II
Pluggable/configurable
load-balancing
policies
Group membership notification
No loss of message transmission
Seamless from web application to server