System Architecture
client
web server
application server
database server
DMS
Goals and Approaches System Architecture
Restricts traffic based on rules and can “protect” the internal network from intruders
Firewall
Directs traffic to a destination based on the “best” path; can communicate between subnets
Router
Provides a fast connection between multiple servers on the same subnet
Switch
Takes incoming requests for one “virtual” server and redirects them to multiple “real” servers
Load Balancer
SPOF meaning
single point of failure
Scaling Servers: Two Approaches
Fewer larger servers to add more internal resources
Where to Apply Scalability
Performance, Redundancy, and Scalability
Application Service Providers (sites) grow by
Approaches to Scalability
the collection of all the servers, applications, and data at a particular site.
Farming
Cloning
Two Clone Design Styles
simpler to implement and scales IO bandwidth as the site grows.
Shared Nothing
design is more economical for large or update-intensive databases.
Shared Disc
Partition
partitioning helps split up the workload and make sure everything runs smoothly, but it doesn’t make the system invincible to problems, and each piece of data is kept in just one spot
What is the problem with load sharing
Load Sharing Strategies
Flat Architecture - DNS Rotation
DNS rotation helps balance the load among multiple servers and ensures your website stays online even if one server fails. However, it might not be the best solution for websites that change a lot or show different things to different people.
Flat Architecture - DNS Rotation Pros
A simple clustering strategy
Flat Architecture - DNS Rotation Cons
Client-side IP caching: load imbalance, connection to down node