/System-Design-Concepts

Though the concepts of system design might be tricky, let's see them individually to their core concepts and have a better understanding.

GNU General Public License v3.0GPL-3.0

System Design

Systems design is the process of defining elements of a system like modules, architecture, components and their interfaces and data for a system based on the specified requirements.

This is a index for the concepts of system.

If you wish to open these in a new tab, Press CTRL+click

S.N. Table of Content
1. Caching
2. Network Protocols
3. Storage: The Underrated Topic
4. Latency and Throughput
5. System Availability
6. Leader Election
7. Proxies
8. Load Balancing
9. Endpoint Protection
10. HTTPS: Is it better than HTTP?
11. Polling and Streaming
12. Long Polling
13. Hashing
14. CAP Theorem
15. PACELC Theorem
16. Messaging and Pub-Sub
17. Database
18. Logging, Monitoring, and Alerting
19. Distributed System
20. Scaling
21. Event Driven Architecture (EDA)
22. CQRS
23. Message Queue
24. Architectural Patterns
25. Enterprise Service Bus (ESB)
26. SLA, SLO, and SLI
27. Heartbeat Messaging
28. Normalization
29. Denormalization
30. Event Sourcing
31. Circuit Breaker
32. Internet Protocol
33. IPv4 Vs. IPv6
34. OSI Model
35. Content Delivery Network (CDN)
36. Domain Name System (DNS)
37. Clustering
38. Quadtrees
39. Geohashing: Encoding the location coordinates
40. Disaster Recovery
41. Monoliths
42. Microservices
43. Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
44. Service Discovery
44. N-Tier Architecture
45. Message Brokers
46. Transactions
47. Distributed Transactions
48. Architectural Patterns
49. Rate Limiting
50. Rate Limiting in Distributed Systems
51. Open Authorization (OAuth 2.0)
52. OpenID Connect
53. Single Sign On (SSO)
54. Security Assertion Markup Language (SAML) Vs. OAuth 2.0 and OpenID Connect (OIDC)
55. Redundancy
56. Redundancy and Reliability
57. Redundancy and Availability
58. Resilience

Thank you!!!


Show some ❤️ by starring this repository!