Merge pull request #7 from Akshay-Singh-Rajput/main

Beautify Readme
pull/8/head
Gaurav Sen 3 years ago committed by GitHub
commit d3370fa7d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,7 +1,7 @@
# System Design Resources
These are the best resources for System Design on the Internet.
#### Video Processing
##
### Video Processing
Transcoding Videos at Scale: https://www.egnyte.com/blog/2018/12/transcoding-how-we-serve-videos-at-scale/
@ -11,7 +11,8 @@ Netflix Video Encoding at Scale: https://netflixtechblog.com/high-quality-video-
Netflix Shot based encoding: https://netflixtechblog.com/optimized-shot-based-encodes-now-streaming-4b9464204830
#### Cluster and Workflow Management
##
### Cluster and Workflow Management
Facebook Cluster Management: https://engineering.fb.com/data-center-engineering/twine/
@ -23,15 +24,17 @@ Opensource Workflow Management: https://github.com/spotify/luigi
Meta Hardware Management: https://engineering.fb.com/2020/12/09/data-center-engineering/how-facebook-keeps-its-large-scale-infrastructure-hardware-up-and-running/
#### Intra-Service Messaging
##
### Intra-Service Messaging
What is a message queue: https://www.cloudamqp.com/blog/what-is-message-queuing.html
AirBnb Idempotency: https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb
Nginx Service Mesh: https://www.nginx.com/learn/service-mesh/
#### Message Queue Antipattern
##
### Message Queue Antipattern
DB as queue Antipattern: http://blog.codepath.com/2012/11/15/asynchronous-processing-in-web-applications-part-1-a-database-is-not-a-queue/
@ -41,7 +44,8 @@ Anti-pattern of DB as a queue: http://mikehadlow.blogspot.com/2012/04/database-a
Drawbacks of DB as a queue: https://www.cloudamqp.com/blog/why-is-a-database-not-the-right-tool-for-a-queue-based-system.html
#### Service Mesh
##
### Service Mesh
Kubernetes Service Mesh: https://akomljen.com/kubernetes-service-mesh/
@ -51,7 +55,8 @@ Service Mesh: https://www.weave.works/blog/introduction-to-service-meshes-on-kub
NginX Service Mesh: https://www.nginx.com/learn/service-mesh/
#### Practical System Design
##
### Practical System Design
Facebook Messenger Optimisations: https://spectrum.ieee.org/how-facebooks-software-engineers-prepare-messenger-for-new-years-eve
@ -63,7 +68,8 @@ Distributed Design Patterns: http://horicky.blogspot.com/2010/10/scalable-system
Monolith to Microservice: https://martinfowler.com/articles/break-monolith-into-microservices.html
#### Distributed File System
##
### Distributed File System
Open Source Distributed File System: https://docs.ceph.com/en/latest/architecture/
@ -71,7 +77,8 @@ Amazon S3 Performance hacks: https://aws.amazon.com/blogs/aws/amazon-s3-performa
Amazon S3 object expiration: https://aws.amazon.com/blogs/aws/amazon-s3-object-expiration/
#### Time Series Databases
##
### Time Series Databases
Pintrest Time Series Database: https://medium.com/pinterest-engineering/goku-building-a-scalable-and-high-performant-time-series-database-system-a8ff5758a181
@ -81,13 +88,15 @@ TimeSeries Relational DB: https://blog.timescale.com/blog/time-series-data-why-a
Facebook Gorilla Time Series DB: http://www.vldb.org/pvldb/vol8/p1816-teller.pdf
#### Rate Limiting
##
### Rate Limiting
Circuit Breaker Algorithm: https://martinfowler.com/bliki/CircuitBreaker.html
Uber Rate Limiter: https://github.com/uber-go/ratelimit/blob/master/ratelimit.go
#### Network Protocols
##
### Network Protocols
What is HTTP: https://engineering.cred.club/head-of-line-hol-blocking-in-http-1-and-http-2-50b24e9e3372
@ -95,27 +104,32 @@ QUIC Protocol: https://www.akamai.com/blog/performance/http3-and-quic-past-prese
TCP Protocol algorithms: https://ee.lbl.gov/papers/congavoid.pdf (First 10 pages are important)
#### Chess Engine Design
##
### Chess Engine Design
Chess Engine Building: https://www.youtube.com/watch?v=U4ogK0MIzqk
#### Subscription Management System
##
### Subscription Management System
Subscription Manager: https://netflixtechblog.com/building-a-rule-based-platform-to-manage-netflix-membership-skus-at-scale-e3c0f82aa7bc
#### Google Docs
##
### Google Docs
Operational Transform: http://www.codecommit.com/blog/java/understanding-and-applying-operational-transformation
Google Docs: https://www.youtube.com/watch?v=uOFzWZrsPV0&list=PLXDe3d8o9VFtydBV5biyz9iS3WqKsBMD5&index=3
##
#### API Design
API Design: https://medium.com/airbnb-engineering/building-services-at-airbnb-part-1-c4c1d8fa811b
Swagger APIs: https://swagger.io/docs/specification/about/
#### NoSQL Database Internals
##
### NoSQL Database Internals
Cassandra Architecture: https://docs.datastax.com/en/archived/cassandra/3.0/cassandra/architecture/archIntro.html
@ -127,7 +141,8 @@ Design Patterns in Amazon Dynamo DB: https://www.youtube.com/watch?v=HaEPXoXVf2k
Internals of Amazon Dynamo DB: https://www.youtube.com/watch?v=yvBR71D0nAQ
#### NoSQL Database Algorithms
##
### NoSQL Database Algorithms
Hyperloglog Algorithm: https://odino.org/my-favorite-data-structure-hyperloglog/
@ -141,7 +156,8 @@ Scylla DB Compaction: https://github.com/scylladb/scylla/wiki/SSTable-compaction
Indexing in Cassandra: https://www.bmc.com/blogs/cassandra-clustering-columns-partition-composite-key/
#### Database Replication
##
### Database Replication
Database replication: https://dev.mysql.com/doc/refman/8.0/en/replication.html
@ -149,7 +165,8 @@ Netflix Data replication - Change Data Capture: https://netflixtechblog.com/dblo
LinkedIn Logging Usecases: https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying
#### Containers and Docker
##
### Containers and Docker
Facebook Twine Containerization: https://engineering.fb.com/developer-tools/zookeeper-twine/
@ -157,7 +174,8 @@ CloudFlare Containerization: https://blog.cloudflare.com/cloud-computing-without
Docker Architecture: https://docs.docker.com/get-started/overview/#docker-architecture
#### Capacity Estimation
##
### Capacity Estimation
Google Capacity Estimation: https://www.youtube.com/watch?v=modXC5IWTJI
@ -167,7 +185,8 @@ Back of envelope Calculations at AWS: https://www.youtube.com/watch?v=-3qetLv2Yp
Capacity Estimation: http://static.googleusercontent.com/media/research.google.com/en//people/jeff/stanford-295-talk.pdf
#### Publisher Subscriber
##
### Publisher Subscriber
Oracle Publisher Subscriber: https://docs.oracle.com/cd/B10501_01/appdev.920/a96590/adg15pub.htm
@ -177,17 +196,20 @@ Asynchronous processing: http://blog.codepath.com/2013/01/06/asynchronous-proces
Async Request Response: https://www.enterpriseintegrationpatterns.com/patterns/conversation/RequestResponse.html
#### Event Driven Architectures
##
### Event Driven Architectures
Martin Fowler- Event Driven Architecture: https://www.youtube.com/watch?v=STKCRSUsyP0
Event Driven Architecture: https://martinfowler.com/articles/201701-event-driven.html
#### Hexagonal Architectures
##
### Hexagonal Architectures
Hexagonal Architecture: https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749
#### Microservices
##
### Microservices
Monolith Architecture: https://buttercms.com/books/microservices-for-startups/should-you-always-start-with-a-monolith/
@ -199,7 +221,8 @@ Uber Nanoservices antipattern: https://www.youtube.com/watch?v=kb-m2fasdDY
Uber Domain oriented microservice: https://eng.uber.com/microservice-architecture/
#### Load Balancing
##
### Load Balancing
Load Balancer with Sticky Sessions: https://stackoverflow.com/questions/10494431/sticky-and-non-sticky-sessions
@ -209,7 +232,8 @@ Nginx Load Balancing: https://www.nginx.com/resources/glossary/load-balancing/
Consistent hashing: https://michaelnielsen.org/blog/consistent-hashing/
#### Alerts and Anomaly Detection
##
### Alerts and Anomaly Detection
Outlier Detection: https://towardsdatascience.com/outlier-detection-with-isolation-forest-3d190448d45e
@ -225,7 +249,8 @@ LinkedIn Real Time Alerting: https://engineering.linkedin.com/blog/2019/06/smart
LinkedIn Isolation Forests: https://engineering.linkedin.com/blog/2019/isolation-forest
#### Distributed Logging
##
### Distributed Logging
Uber Distributed Request Tracing: https://eng.uber.com/distributed-tracing/
@ -233,7 +258,8 @@ Pintrest Logging: https://medium.com/@Pinterest_Engineering/open-sourcing-singer
Google Monitoring Infrastructure: https://www.facebook.com/atscaleevents/videos/959344524420015/
#### Metrics and Text Search Engine
##
### Metrics and Text Search Engine
Facebook real time text search engine: https://www.facebook.com/watch/?v=432864835468
@ -241,7 +267,8 @@ Elastic Search Time Based Querying: https://www.elastic.co/guide/en/elasticsearc
Elastic Search Aggregation: https://www.elastic.co/guide/en/elasticsearch/guide/current/aggregations.html
#### Single Point of Failure
##
### Single Point of Failure
Avoiding Single Points of Failure: https://medium.com/the-cloud-architect/patterns-for-resilient-architecture-part-3-16e8601c488e
@ -253,21 +280,25 @@ DNS single point of failure 2004: http://www.tenereillo.com/GSLBPageOfShame.htm
Sharding: https://medium.com/@jeeyoungk/how-sharding-works-b4dec46b3f6
#### Location Based Services
##
### Location Based Services
Google S2 library: https://blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/
#### Batch Processing
##
### Batch Processing
Map Reduce Architecture: https://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf
#### Real Time Stream Processing
##
### Real Time Stream Processing
LinkedIn Brooklin- Real time data streaming: https://engineering.linkedin.com/blog/2019/brooklin-open-source
Netflix Real Time Stream Processing: https://netflixtechblog.com/keystone-real-time-stream-processing-platform-a3ee651812a
#### Caching
##
### Caching
Google Guava Cache: https://github.com/google/guava/wiki/CachesExplained
@ -279,12 +310,14 @@ Microsoft Caching Guide: https://docs.microsoft.com/en-us/previous-versions/msp-
Caching patterns: https://hazelcast.com/blog/a-hitchhikers-guide-to-caching-patterns/
#### Distributed concensus
##
### Distributed concensus
Paxos: http://ifeanyi.co/posts/understanding-consensus/
Raft: https://raft.github.io/
##
### Authorization
Designing an Authorization Model for an Enterprise https://cerbos.dev/blog/designing-an-authorization-model-for-an-enterprise

Loading…
Cancel
Save