Upload
allan-huang
View
54
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
eSobi site Initiation
Allan Huang @ eSobi Inc.
Agenda
Large-scale Site Requirement Proposed Infrastructure Testing Infrastructure Conclusion
Large-scale Site Requirement
Requirement High availability High scalability
Considered factors Clustering Load Balancing Fail Over Session Persistence
Clustering What kind of clustering (Topology)
Vertical scaling multiple server running on single machine
Horizontal scaling multiple machines in the cluster
What kind of communication One-to-Many Communication Using IP Multicast Server Communication Using IP Sockets
What tier should clustering Web server Application server Database server
Load Balancing
Which kind of strategy Round-Robin DNS
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
Load Balancing
Factors When server selected How server selected (Policy) Where is load balancing accomplished
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
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
Session Persistence
Solution Memory-to-memory replication File system session persistence Database session persistence
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
Proposed Cluster Setup I
Highly scalable Fault-tolerant Dynamically configurable Automatic cluster member discovery In-memory session state replication
Proposed Cluster Setup II
Pluggable/configurable load-balancing policies
Group membership notification No loss of message transmission Seamless from web application to server
Proposed Infrastructure
Realistic Context Deployment
System Architecture
Integration Tier
Business Tier
Presentation Tier
Arc
hite
ctur
e C
ompo
nent
Lay
er(F
ram
ewor
k)
Dom
ain
Obj
ect
Laye
r(D
omai
n M
odel
/ E
ntity
)Presentation Layer
(Servlet / JSP)
Deployment Layer
Business Logic Layer(Business Object)
Data Access Object Layer
Business Delegate Layer
Testing Infrastructure
Testing Context Deployment
Unit Test Architecture
JUnit / TestNG Framework
Arc
hite
ctur
e C
ompo
nent
Lay
er(F
ram
ewor
k)
Val
ue O
bjec
t La
yer
(Dom
ain
Obj
ect)
Presentation Layer(Servlet / JSP)
Deployment Layer(EJB / Web Services)
Business Logic Layer(Business Object)
Data Access Object Layer(DAO Object)
Delegate Layer(Service Locator)
Conclusion
Next Step?