From 9f66c08623adb5b12a4d4504c440c484668502a9 Mon Sep 17 00:00:00 2001 From: Akshay Kumar <97354310+Akshay-Singh-Rajput@users.noreply.github.com> Date: Sat, 20 Aug 2022 13:14:41 +0530 Subject: [PATCH] Update README.md H3 -> H2 Heading/Title --- README.md | 72 +++++++++++++++++++++++++++---------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 433edef..37da801 100644 --- a/README.md +++ b/README.md @@ -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/ @@ -12,7 +12,7 @@ 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/ @@ -25,7 +25,7 @@ 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 @@ -34,7 +34,7 @@ AirBnb Idempotency: https://medium.com/airbnb-engineering/avoiding-double-paymen 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/ @@ -45,7 +45,7 @@ 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/ @@ -56,7 +56,7 @@ 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 @@ -69,7 +69,7 @@ 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/ @@ -78,7 +78,7 @@ 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 @@ -89,14 +89,14 @@ 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 ## -### In Memory Database - Redis +## In Memory Database - Redis Redis Official Documentation : https://redis.com/ @@ -107,7 +107,7 @@ Redis Open Source Repo : https://github.com/redis/redis Redis Architechture : https://medium.com/opstree-technology/redis-cluster-architecture-replication-sharding-and-failover-86871e783ac0 ## -### Network Protocols +## Network Protocols What is HTTP: https://engineering.cred.club/head-of-line-hol-blocking-in-http-1-and-http-2-50b24e9e3372 @@ -120,31 +120,31 @@ WebRTC: https://webrtc.github.io/webrtc-org/blog/2012/07/23/a-great-introduction WebSockets: https://datatracker.ietf.org/doc/html/rfc6455#section-1.2 ## -### 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 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 @@ -157,7 +157,7 @@ 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/ @@ -172,7 +172,7 @@ 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 @@ -181,7 +181,7 @@ 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/ @@ -190,7 +190,7 @@ 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 @@ -201,7 +201,7 @@ 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 @@ -212,19 +212,19 @@ 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/ @@ -237,7 +237,7 @@ 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 @@ -248,7 +248,7 @@ 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 @@ -265,7 +265,7 @@ 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/ @@ -274,7 +274,7 @@ 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 @@ -283,7 +283,7 @@ 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 @@ -296,24 +296,24 @@ 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 @@ -326,18 +326,18 @@ 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 +## Authorization Designing an Authorization Model for an Enterprise https://cerbos.dev/blog/designing-an-authorization-model-for-an-enterprise ## -### Paid Course +## Paid Course InterviewReady: https://get.interviewready.io