Web Services 2 Flashcards
System Architecture
client
web server
application server
database server
DMS
Goals and Approaches System Architecture
- Internet-based E-Commerce has made system growth more rapid and dynamic.
-
Improving performance and reliability to provide
A. Higher throughput
B. Lower latency (i.e., response time)
C. Increase availability - Approaches
a. Scaling network and system infrastructure
b. How performance, redundancy, and reliability are related to scalability
c. Load balancing
d. Web caching
- goals are to make the E-Commerce system faster, more reliable, and always available.
- The approaches involve strategies like expanding infrastructure, ensuring consistent performance as the system grows, distributing workload evenly, and storing frequently accessed data for quicker access.
- These efforts ensure that users have a smooth and seamless experience when shopping online.
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
- Multiple smaller servers
- Fewer larger servers to add more internal resources
Fewer larger servers to add more internal resources
- Add more processors, memory, and disk space
- Most commonly done with database servers
Where to Apply Scalability
- To the network
- To individual servers
- Make sure the network has capacity before scaling by adding servers
- People scale because they want better performance
- But a fast site that goes down because of one component is a Bad Thing
- Incorporate all three into your design in the beginning - more difficult to do after the eBusiness is live
Performance, Redundancy, and Scalability
Application Service Providers (sites) grow by
- scale up: replacing servers with larger servers
- scale out: adding extra servers
Approaches to Scalability
- Farming
- Clone
- RACS
- Partitioning
- RAPS
the collection of all the servers, applications, and data at a particular site.
Farming
- A service can be cloned on many replica nodes, each having the same software and data.
- offers both scalability and availability.
Cloning
Two Clone Design Styles
- Shared Nothing
- Shared Disc
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
- grows a service by duplicating the hardware and software; dividing the data among the nodes (by object), e.g., mail servers by mailboxes
- should be transparent to the application; requests to a partitioned service are routed to the partition with the relevant data
- does not improve availability
the data is stored in only one place - partitions are implemented as a pack of two or more nodes that provide access to the storage
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
- Too much load
- Need to replicate servers