├── .gitignore ├── 01. Scaling ├── Readme.md └── images │ ├── cache.png │ ├── cdn.png │ ├── data-center.png │ ├── database-replication.png │ ├── database.png │ ├── horizontal-scaling.png │ ├── load-balancer.png │ ├── logging.png │ ├── message-queue.png │ ├── single-server.png │ ├── statefull.png │ └── stateless.png ├── 02. Back Of the Envelope Estimation ├── Readme.md └── images │ └── power-of-two.png ├── 03. System Design Framework └── Readme.md ├── 04. Rate Limiter ├── Readme.md └── images │ ├── architecture.png │ ├── fixed-window-counter.png │ ├── fixed-window-issue.png │ ├── leaking-bucket.png │ ├── rate_limiter_architecture.png │ ├── sliding-window-counter.png │ ├── sliding-window-log.png │ └── token-bucket.png ├── 05. Consistent Hashing ├── Readme.md └── images │ ├── adding-server.png │ ├── hash-ring.png │ ├── removing-server.png │ ├── server-addition.png │ ├── server-hashing-miss.png │ ├── server-hashing.png │ ├── server-lookup.png │ ├── server-removed.png │ ├── server-ring.png │ └── virtual-nodes.png ├── 06. Key-Value Store ├── Readme.md └── images │ ├── cap.png │ ├── consistent-server.png │ ├── data-replication.png │ ├── final-architecture.png │ ├── gossip-protocol.png │ ├── hash-bucket.png │ ├── hash-key-bucket.png │ ├── inconsistent-server.png │ ├── key-bucket.png │ ├── merkel-tree.png │ ├── quorum-consensus.png │ ├── read-path-without-cache.png │ ├── read-path.png │ ├── server-down.png │ ├── sloppy-quorum.png │ ├── vector-clock.png │ └── write-path.png ├── 07. Unique-Id Generator ├── Readme.md └── images │ ├── multi-master.png │ ├── snowflake-id-breakdown.png │ ├── ticket-server.png │ ├── twitter-snowflake.png │ └── uuid.png ├── 08. URL Shortener ├── Readme.md └── images │ ├── hash-function.png │ ├── table-schema.png │ ├── url-lookup.png │ ├── url-redirecting-flow.png │ ├── url-redirection.png │ ├── url-shortening-flow.png │ └── url-shortening.png ├── 09. Web Crawler ├── Readme.md └── images │ ├── extensibility.png │ ├── politeness.png │ ├── prioritizer.png │ └── web-crawler-architecture.png ├── 10. Notification System ├── Readme.md └── images │ ├── contact-info-gathering.png │ ├── data-loss.png │ ├── events-tracking.png │ ├── high-level-design.png │ ├── improved-design.png │ └── updated-design.png ├── 11. News Feed System ├── Readme.md └── images │ ├── cache-architecture.png │ ├── fanout-service.png │ ├── feed-publishing-deep-dive.png │ ├── feed-publishing.png │ └── news-feed-building.png ├── 12. Chat System ├── Readme.md └── images │ ├── basic-design.png │ ├── fanout-presence.png │ ├── group-chat-flow.png │ ├── group-chat.png │ ├── heartbeat-mechanism.png │ ├── high-level-design.png │ ├── high-level-statefull-arch.png │ ├── high-level-stateless-arch.png │ ├── long-polling.png │ ├── message-synchronization.png │ ├── one-to-one-chat-flow.png │ ├── one-to-one-chat.png │ ├── online-presence.png │ ├── polling.png │ ├── websocket.png │ └── zookeeper.png ├── 13. Search Autocomplete ├── Readme.md └── images │ ├── basic-search-suggestions.png │ ├── cached-trie.png │ ├── data-gathering-flow.png │ ├── data-gathering.png │ ├── delete-kv.png │ ├── frequency-table.png │ ├── sharding.png │ ├── trie-db.png │ └── trie-structure.png ├── 14. Youtube ├── Readme.md └── images │ ├── dag-config.png │ ├── dag-scheduler.png │ ├── dag-video-transcoding.png │ ├── high-level-design.png │ ├── message-queue1.png │ ├── message-queue2.png │ ├── metadata-upload.png │ ├── pres-signed-urls.png │ ├── resource-manager.png │ ├── task-worker.png │ ├── video-split.png │ ├── video-streaming-flow.png │ ├── video-transcoding-architecture.png │ └── video-uploading-flow.png ├── 15. Google Drive ├── Readme.md └── images │ ├── delta-sync.png │ ├── download-flow.png │ ├── file-sync.png │ ├── high-level-design.png │ ├── metadata-database.png │ ├── namespaces.png │ ├── replication.png │ ├── sync-conflicts.png │ └── upload-flow.png ├── 16. Proximity Service ├── Readme.md └── images │ ├── 2d-search.png │ ├── boundary-issue.png │ ├── building-quadtree.png │ ├── dataset-intersection.png │ ├── even-grid.png │ ├── final-design.png │ ├── geofence.png │ ├── geohash-1.png │ ├── geohash-radius-mapping.png │ ├── geohash.png │ ├── geospatial-index-types.png │ ├── high-level-design.png │ ├── hilbert-curve.png │ ├── quadtree.png │ └── realworld-quadtree.png └── Readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /01. Scaling/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/Readme.md -------------------------------------------------------------------------------- /01. Scaling/images/cache.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/cache.png -------------------------------------------------------------------------------- /01. Scaling/images/cdn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/cdn.png -------------------------------------------------------------------------------- /01. Scaling/images/data-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/data-center.png -------------------------------------------------------------------------------- /01. Scaling/images/database-replication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/database-replication.png -------------------------------------------------------------------------------- /01. Scaling/images/database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/database.png -------------------------------------------------------------------------------- /01. Scaling/images/horizontal-scaling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/horizontal-scaling.png -------------------------------------------------------------------------------- /01. Scaling/images/load-balancer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/load-balancer.png -------------------------------------------------------------------------------- /01. Scaling/images/logging.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/logging.png -------------------------------------------------------------------------------- /01. Scaling/images/message-queue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/message-queue.png -------------------------------------------------------------------------------- /01. Scaling/images/single-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/single-server.png -------------------------------------------------------------------------------- /01. Scaling/images/statefull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/statefull.png -------------------------------------------------------------------------------- /01. Scaling/images/stateless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/01. Scaling/images/stateless.png -------------------------------------------------------------------------------- /02. Back Of the Envelope Estimation/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/02. Back Of the Envelope Estimation/Readme.md -------------------------------------------------------------------------------- /02. Back Of the Envelope Estimation/images/power-of-two.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/02. Back Of the Envelope Estimation/images/power-of-two.png -------------------------------------------------------------------------------- /03. System Design Framework/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/03. System Design Framework/Readme.md -------------------------------------------------------------------------------- /04. Rate Limiter/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/04. Rate Limiter/Readme.md -------------------------------------------------------------------------------- /04. Rate Limiter/images/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/04. Rate Limiter/images/architecture.png -------------------------------------------------------------------------------- /04. Rate Limiter/images/fixed-window-counter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/04. Rate Limiter/images/fixed-window-counter.png -------------------------------------------------------------------------------- /04. Rate Limiter/images/fixed-window-issue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/04. Rate Limiter/images/fixed-window-issue.png -------------------------------------------------------------------------------- /04. Rate Limiter/images/leaking-bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/04. Rate Limiter/images/leaking-bucket.png -------------------------------------------------------------------------------- /04. Rate Limiter/images/rate_limiter_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/04. Rate Limiter/images/rate_limiter_architecture.png -------------------------------------------------------------------------------- /04. Rate Limiter/images/sliding-window-counter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/04. Rate Limiter/images/sliding-window-counter.png -------------------------------------------------------------------------------- /04. Rate Limiter/images/sliding-window-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/04. Rate Limiter/images/sliding-window-log.png -------------------------------------------------------------------------------- /04. Rate Limiter/images/token-bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/04. Rate Limiter/images/token-bucket.png -------------------------------------------------------------------------------- /05. Consistent Hashing/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/Readme.md -------------------------------------------------------------------------------- /05. Consistent Hashing/images/adding-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/adding-server.png -------------------------------------------------------------------------------- /05. Consistent Hashing/images/hash-ring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/hash-ring.png -------------------------------------------------------------------------------- /05. Consistent Hashing/images/removing-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/removing-server.png -------------------------------------------------------------------------------- /05. Consistent Hashing/images/server-addition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/server-addition.png -------------------------------------------------------------------------------- /05. Consistent Hashing/images/server-hashing-miss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/server-hashing-miss.png -------------------------------------------------------------------------------- /05. Consistent Hashing/images/server-hashing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/server-hashing.png -------------------------------------------------------------------------------- /05. Consistent Hashing/images/server-lookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/server-lookup.png -------------------------------------------------------------------------------- /05. Consistent Hashing/images/server-removed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/server-removed.png -------------------------------------------------------------------------------- /05. Consistent Hashing/images/server-ring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/server-ring.png -------------------------------------------------------------------------------- /05. Consistent Hashing/images/virtual-nodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/05. Consistent Hashing/images/virtual-nodes.png -------------------------------------------------------------------------------- /06. Key-Value Store/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/Readme.md -------------------------------------------------------------------------------- /06. Key-Value Store/images/cap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/cap.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/consistent-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/consistent-server.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/data-replication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/data-replication.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/final-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/final-architecture.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/gossip-protocol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/gossip-protocol.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/hash-bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/hash-bucket.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/hash-key-bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/hash-key-bucket.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/inconsistent-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/inconsistent-server.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/key-bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/key-bucket.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/merkel-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/merkel-tree.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/quorum-consensus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/quorum-consensus.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/read-path-without-cache.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/read-path-without-cache.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/read-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/read-path.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/server-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/server-down.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/sloppy-quorum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/sloppy-quorum.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/vector-clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/vector-clock.png -------------------------------------------------------------------------------- /06. Key-Value Store/images/write-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/06. Key-Value Store/images/write-path.png -------------------------------------------------------------------------------- /07. Unique-Id Generator/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/07. Unique-Id Generator/Readme.md -------------------------------------------------------------------------------- /07. Unique-Id Generator/images/multi-master.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/07. Unique-Id Generator/images/multi-master.png -------------------------------------------------------------------------------- /07. Unique-Id Generator/images/snowflake-id-breakdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/07. Unique-Id Generator/images/snowflake-id-breakdown.png -------------------------------------------------------------------------------- /07. Unique-Id Generator/images/ticket-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/07. Unique-Id Generator/images/ticket-server.png -------------------------------------------------------------------------------- /07. Unique-Id Generator/images/twitter-snowflake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/07. Unique-Id Generator/images/twitter-snowflake.png -------------------------------------------------------------------------------- /07. Unique-Id Generator/images/uuid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/07. Unique-Id Generator/images/uuid.png -------------------------------------------------------------------------------- /08. URL Shortener/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/08. URL Shortener/Readme.md -------------------------------------------------------------------------------- /08. URL Shortener/images/hash-function.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/08. URL Shortener/images/hash-function.png -------------------------------------------------------------------------------- /08. URL Shortener/images/table-schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/08. URL Shortener/images/table-schema.png -------------------------------------------------------------------------------- /08. URL Shortener/images/url-lookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/08. URL Shortener/images/url-lookup.png -------------------------------------------------------------------------------- /08. URL Shortener/images/url-redirecting-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/08. URL Shortener/images/url-redirecting-flow.png -------------------------------------------------------------------------------- /08. URL Shortener/images/url-redirection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/08. URL Shortener/images/url-redirection.png -------------------------------------------------------------------------------- /08. URL Shortener/images/url-shortening-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/08. URL Shortener/images/url-shortening-flow.png -------------------------------------------------------------------------------- /08. URL Shortener/images/url-shortening.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/08. URL Shortener/images/url-shortening.png -------------------------------------------------------------------------------- /09. Web Crawler/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/09. Web Crawler/Readme.md -------------------------------------------------------------------------------- /09. Web Crawler/images/extensibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/09. Web Crawler/images/extensibility.png -------------------------------------------------------------------------------- /09. Web Crawler/images/politeness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/09. Web Crawler/images/politeness.png -------------------------------------------------------------------------------- /09. Web Crawler/images/prioritizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/09. Web Crawler/images/prioritizer.png -------------------------------------------------------------------------------- /09. Web Crawler/images/web-crawler-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/09. Web Crawler/images/web-crawler-architecture.png -------------------------------------------------------------------------------- /10. Notification System/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/10. Notification System/Readme.md -------------------------------------------------------------------------------- /10. Notification System/images/contact-info-gathering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/10. Notification System/images/contact-info-gathering.png -------------------------------------------------------------------------------- /10. Notification System/images/data-loss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/10. Notification System/images/data-loss.png -------------------------------------------------------------------------------- /10. Notification System/images/events-tracking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/10. Notification System/images/events-tracking.png -------------------------------------------------------------------------------- /10. Notification System/images/high-level-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/10. Notification System/images/high-level-design.png -------------------------------------------------------------------------------- /10. Notification System/images/improved-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/10. Notification System/images/improved-design.png -------------------------------------------------------------------------------- /10. Notification System/images/updated-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/10. Notification System/images/updated-design.png -------------------------------------------------------------------------------- /11. News Feed System/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/11. News Feed System/Readme.md -------------------------------------------------------------------------------- /11. News Feed System/images/cache-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/11. News Feed System/images/cache-architecture.png -------------------------------------------------------------------------------- /11. News Feed System/images/fanout-service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/11. News Feed System/images/fanout-service.png -------------------------------------------------------------------------------- /11. News Feed System/images/feed-publishing-deep-dive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/11. News Feed System/images/feed-publishing-deep-dive.png -------------------------------------------------------------------------------- /11. News Feed System/images/feed-publishing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/11. News Feed System/images/feed-publishing.png -------------------------------------------------------------------------------- /11. News Feed System/images/news-feed-building.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/11. News Feed System/images/news-feed-building.png -------------------------------------------------------------------------------- /12. Chat System/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/Readme.md -------------------------------------------------------------------------------- /12. Chat System/images/basic-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/basic-design.png -------------------------------------------------------------------------------- /12. Chat System/images/fanout-presence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/fanout-presence.png -------------------------------------------------------------------------------- /12. Chat System/images/group-chat-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/group-chat-flow.png -------------------------------------------------------------------------------- /12. Chat System/images/group-chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/group-chat.png -------------------------------------------------------------------------------- /12. Chat System/images/heartbeat-mechanism.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/heartbeat-mechanism.png -------------------------------------------------------------------------------- /12. Chat System/images/high-level-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/high-level-design.png -------------------------------------------------------------------------------- /12. Chat System/images/high-level-statefull-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/high-level-statefull-arch.png -------------------------------------------------------------------------------- /12. Chat System/images/high-level-stateless-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/high-level-stateless-arch.png -------------------------------------------------------------------------------- /12. Chat System/images/long-polling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/long-polling.png -------------------------------------------------------------------------------- /12. Chat System/images/message-synchronization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/message-synchronization.png -------------------------------------------------------------------------------- /12. Chat System/images/one-to-one-chat-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/one-to-one-chat-flow.png -------------------------------------------------------------------------------- /12. Chat System/images/one-to-one-chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/one-to-one-chat.png -------------------------------------------------------------------------------- /12. Chat System/images/online-presence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/online-presence.png -------------------------------------------------------------------------------- /12. Chat System/images/polling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/polling.png -------------------------------------------------------------------------------- /12. Chat System/images/websocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/websocket.png -------------------------------------------------------------------------------- /12. Chat System/images/zookeeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/12. Chat System/images/zookeeper.png -------------------------------------------------------------------------------- /13. Search Autocomplete/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/Readme.md -------------------------------------------------------------------------------- /13. Search Autocomplete/images/basic-search-suggestions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/images/basic-search-suggestions.png -------------------------------------------------------------------------------- /13. Search Autocomplete/images/cached-trie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/images/cached-trie.png -------------------------------------------------------------------------------- /13. Search Autocomplete/images/data-gathering-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/images/data-gathering-flow.png -------------------------------------------------------------------------------- /13. Search Autocomplete/images/data-gathering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/images/data-gathering.png -------------------------------------------------------------------------------- /13. Search Autocomplete/images/delete-kv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/images/delete-kv.png -------------------------------------------------------------------------------- /13. Search Autocomplete/images/frequency-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/images/frequency-table.png -------------------------------------------------------------------------------- /13. Search Autocomplete/images/sharding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/images/sharding.png -------------------------------------------------------------------------------- /13. Search Autocomplete/images/trie-db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/images/trie-db.png -------------------------------------------------------------------------------- /13. Search Autocomplete/images/trie-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/13. Search Autocomplete/images/trie-structure.png -------------------------------------------------------------------------------- /14. Youtube/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/Readme.md -------------------------------------------------------------------------------- /14. Youtube/images/dag-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/dag-config.png -------------------------------------------------------------------------------- /14. Youtube/images/dag-scheduler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/dag-scheduler.png -------------------------------------------------------------------------------- /14. Youtube/images/dag-video-transcoding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/dag-video-transcoding.png -------------------------------------------------------------------------------- /14. Youtube/images/high-level-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/high-level-design.png -------------------------------------------------------------------------------- /14. Youtube/images/message-queue1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/message-queue1.png -------------------------------------------------------------------------------- /14. Youtube/images/message-queue2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/message-queue2.png -------------------------------------------------------------------------------- /14. Youtube/images/metadata-upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/metadata-upload.png -------------------------------------------------------------------------------- /14. Youtube/images/pres-signed-urls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/pres-signed-urls.png -------------------------------------------------------------------------------- /14. Youtube/images/resource-manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/resource-manager.png -------------------------------------------------------------------------------- /14. Youtube/images/task-worker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/task-worker.png -------------------------------------------------------------------------------- /14. Youtube/images/video-split.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/video-split.png -------------------------------------------------------------------------------- /14. Youtube/images/video-streaming-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/video-streaming-flow.png -------------------------------------------------------------------------------- /14. Youtube/images/video-transcoding-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/video-transcoding-architecture.png -------------------------------------------------------------------------------- /14. Youtube/images/video-uploading-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/14. Youtube/images/video-uploading-flow.png -------------------------------------------------------------------------------- /15. Google Drive/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/Readme.md -------------------------------------------------------------------------------- /15. Google Drive/images/delta-sync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/images/delta-sync.png -------------------------------------------------------------------------------- /15. Google Drive/images/download-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/images/download-flow.png -------------------------------------------------------------------------------- /15. Google Drive/images/file-sync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/images/file-sync.png -------------------------------------------------------------------------------- /15. Google Drive/images/high-level-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/images/high-level-design.png -------------------------------------------------------------------------------- /15. Google Drive/images/metadata-database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/images/metadata-database.png -------------------------------------------------------------------------------- /15. Google Drive/images/namespaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/images/namespaces.png -------------------------------------------------------------------------------- /15. Google Drive/images/replication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/images/replication.png -------------------------------------------------------------------------------- /15. Google Drive/images/sync-conflicts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/images/sync-conflicts.png -------------------------------------------------------------------------------- /15. Google Drive/images/upload-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/15. Google Drive/images/upload-flow.png -------------------------------------------------------------------------------- /16. Proximity Service/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/Readme.md -------------------------------------------------------------------------------- /16. Proximity Service/images/2d-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/2d-search.png -------------------------------------------------------------------------------- /16. Proximity Service/images/boundary-issue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/boundary-issue.png -------------------------------------------------------------------------------- /16. Proximity Service/images/building-quadtree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/building-quadtree.png -------------------------------------------------------------------------------- /16. Proximity Service/images/dataset-intersection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/dataset-intersection.png -------------------------------------------------------------------------------- /16. Proximity Service/images/even-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/even-grid.png -------------------------------------------------------------------------------- /16. Proximity Service/images/final-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/final-design.png -------------------------------------------------------------------------------- /16. Proximity Service/images/geofence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/geofence.png -------------------------------------------------------------------------------- /16. Proximity Service/images/geohash-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/geohash-1.png -------------------------------------------------------------------------------- /16. Proximity Service/images/geohash-radius-mapping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/geohash-radius-mapping.png -------------------------------------------------------------------------------- /16. Proximity Service/images/geohash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/geohash.png -------------------------------------------------------------------------------- /16. Proximity Service/images/geospatial-index-types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/geospatial-index-types.png -------------------------------------------------------------------------------- /16. Proximity Service/images/high-level-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/high-level-design.png -------------------------------------------------------------------------------- /16. Proximity Service/images/hilbert-curve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/hilbert-curve.png -------------------------------------------------------------------------------- /16. Proximity Service/images/quadtree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/quadtree.png -------------------------------------------------------------------------------- /16. Proximity Service/images/realworld-quadtree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/16. Proximity Service/images/realworld-quadtree.png -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liquidslr/system-design-notes/HEAD/Readme.md --------------------------------------------------------------------------------