System Design
- Load Balancing: Distributes incoming traffic across multiple servers to improve performance and availability.
- Caching: Stores frequently accessed data for quicker retrieval, reducing latency.
- Sharding: Splits a database into smaller, manageable parts for better performance and scalability.
- Replication: Copies data across multiple servers to ensure high availability and fault tolerance.
- Message Queues: Enables asynchronous communication, improving scalability and decoupling system components.
- Horizontal Scaling: Adds more servers to handle increased load, distributing workload across multiple machines.
- Vertical Scaling: Enhances the capacity of a single server by adding more resources (CPU, RAM, etc.).
- CAP Theorem: States that in distributed systems, you can only achieve two of the following three: Consistency, Availability, and Partition Tolerance.
- API Gateway: Manages API requests, aggregates responses, and provides centralized security and routing.
- Circuit Breaker Pattern: Prevents cascading failures by halting repeated failed operations.
- Monolithic Architecture: A single codebase containing interdependent components, simpler initially but harder to scale.
- Microservices: Breaks applications into smaller, independent services for better manageability and scalability.
- Fault Tolerance: Ensures the system continues functioning despite component failures by using redundancy.
- Service Discovery: Helps services dynamically locate and communicate with each other.
- Database Indexing: Speeds up data retrieval using indexed columns in the database.
- Rate Limiting: Controls the number of requests to ensure stability and prevent overload.
- Data Partitioning: Divides datasets into smaller parts to optimize performance.
- Event-Driven Architecture: Triggers actions based on events, enhancing inter-service communication.
- Consistent Hashing: Uniformly distributes data across nodes to minimize reorganization when scaling.
- Proxy Servers: Acts as intermediaries to enhance security, load balancing, and caching.
No comments:
Post a Comment