├── .github ├── stale.yml └── workflows │ ├── action.yml │ └── ipynb_tests.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── OOP-design ├── designing_amazon_online_shopping_system.ipynb ├── designing_amazon_online_shopping_system.md ├── executed_amazon_system.ipynb └── images │ ├── amazon-s-checkout.svg │ ├── amazon-s-searching.svg │ └── amazon-s-shoppingcart.svg ├── README.md ├── codecov.yml ├── designing-cloud-storage.ipynb ├── designing-cloud-storage.md ├── designing_api_rate_limiter.ipynb ├── designing_api_rate_limiter.md ├── designing_instagram.ipynb ├── designing_instagram.md ├── designing_instagram_feed.ipynb ├── designing_instagram_feed.md ├── designing_ticketmaster.ipynb ├── designing_ticketmaster.md ├── designing_twitter.ipynb ├── designing_twitter.md ├── designing_twitter_search.ipynb ├── designing_twitter_search.md ├── designing_typeahead_suggestion.ipynb ├── designing_typeahead_suggestion.md ├── designing_uber_backend.ipynb ├── designing_uber_backend.md ├── designing_webcrawler.ipynb ├── designing_webcrawler.md ├── designing_youtube_or_netflix.ipynb ├── designing_youtube_or_netflix.md ├── distributed_logging.ipynb ├── distributed_logging.md ├── executed_designing_api_rate_limiter.ipynb ├── executed_designing_instagram.ipynb ├── executed_designing_twitter.ipynb ├── images ├── designing_cloud_client.png ├── designing_cloud_detailed.png ├── designing_cloud_high_level.png ├── designing_cloud_mqs.png ├── designing_crawler_detailed_component.png ├── designing_webcrawler_high_level.png ├── detailed_design_youtube.png ├── distributed_logging_datacenter_level.png ├── distributed_logging_design.png ├── e_ticketing_db_design.svg ├── e_ticketing_high_level.svg ├── fixed_rolling_window.svg ├── fixed_window_atomicity.svg ├── fixed_window_problem.svg ├── hld_youtube.png ├── ig_read_writes.png ├── ig_redundancy.png ├── instagram_high_level_design.png ├── quad_tree_diagram.png ├── rate_limiter_high_level_design.png ├── sequence-diag.png ├── sharding_based_on_tweet_object.png ├── trie_merged.png ├── trie_storage.png ├── trie_typeahead.png ├── twitter_component_design.png ├── twitter_db_schema.svg ├── twitter_epoch.png ├── twitter_high_level.png ├── twitter_like_high_level.png └── uber_system_design.png └── requirements.txt /.github/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/.github/stale.yml -------------------------------------------------------------------------------- /.github/workflows/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/.github/workflows/action.yml -------------------------------------------------------------------------------- /.github/workflows/ipynb_tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/.github/workflows/ipynb_tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/LICENSE -------------------------------------------------------------------------------- /OOP-design/designing_amazon_online_shopping_system.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/OOP-design/designing_amazon_online_shopping_system.ipynb -------------------------------------------------------------------------------- /OOP-design/designing_amazon_online_shopping_system.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/OOP-design/designing_amazon_online_shopping_system.md -------------------------------------------------------------------------------- /OOP-design/executed_amazon_system.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/OOP-design/executed_amazon_system.ipynb -------------------------------------------------------------------------------- /OOP-design/images/amazon-s-checkout.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/OOP-design/images/amazon-s-checkout.svg -------------------------------------------------------------------------------- /OOP-design/images/amazon-s-searching.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/OOP-design/images/amazon-s-searching.svg -------------------------------------------------------------------------------- /OOP-design/images/amazon-s-shoppingcart.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/OOP-design/images/amazon-s-shoppingcart.svg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/README.md -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/codecov.yml -------------------------------------------------------------------------------- /designing-cloud-storage.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing-cloud-storage.ipynb -------------------------------------------------------------------------------- /designing-cloud-storage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing-cloud-storage.md -------------------------------------------------------------------------------- /designing_api_rate_limiter.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_api_rate_limiter.ipynb -------------------------------------------------------------------------------- /designing_api_rate_limiter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_api_rate_limiter.md -------------------------------------------------------------------------------- /designing_instagram.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_instagram.ipynb -------------------------------------------------------------------------------- /designing_instagram.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_instagram.md -------------------------------------------------------------------------------- /designing_instagram_feed.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_instagram_feed.ipynb -------------------------------------------------------------------------------- /designing_instagram_feed.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_instagram_feed.md -------------------------------------------------------------------------------- /designing_ticketmaster.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_ticketmaster.ipynb -------------------------------------------------------------------------------- /designing_ticketmaster.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_ticketmaster.md -------------------------------------------------------------------------------- /designing_twitter.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_twitter.ipynb -------------------------------------------------------------------------------- /designing_twitter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_twitter.md -------------------------------------------------------------------------------- /designing_twitter_search.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_twitter_search.ipynb -------------------------------------------------------------------------------- /designing_twitter_search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_twitter_search.md -------------------------------------------------------------------------------- /designing_typeahead_suggestion.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_typeahead_suggestion.ipynb -------------------------------------------------------------------------------- /designing_typeahead_suggestion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_typeahead_suggestion.md -------------------------------------------------------------------------------- /designing_uber_backend.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_uber_backend.ipynb -------------------------------------------------------------------------------- /designing_uber_backend.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_uber_backend.md -------------------------------------------------------------------------------- /designing_webcrawler.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_webcrawler.ipynb -------------------------------------------------------------------------------- /designing_webcrawler.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_webcrawler.md -------------------------------------------------------------------------------- /designing_youtube_or_netflix.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_youtube_or_netflix.ipynb -------------------------------------------------------------------------------- /designing_youtube_or_netflix.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/designing_youtube_or_netflix.md -------------------------------------------------------------------------------- /distributed_logging.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/distributed_logging.ipynb -------------------------------------------------------------------------------- /distributed_logging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/distributed_logging.md -------------------------------------------------------------------------------- /executed_designing_api_rate_limiter.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/executed_designing_api_rate_limiter.ipynb -------------------------------------------------------------------------------- /executed_designing_instagram.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/executed_designing_instagram.ipynb -------------------------------------------------------------------------------- /executed_designing_twitter.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/executed_designing_twitter.ipynb -------------------------------------------------------------------------------- /images/designing_cloud_client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/designing_cloud_client.png -------------------------------------------------------------------------------- /images/designing_cloud_detailed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/designing_cloud_detailed.png -------------------------------------------------------------------------------- /images/designing_cloud_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/designing_cloud_high_level.png -------------------------------------------------------------------------------- /images/designing_cloud_mqs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/designing_cloud_mqs.png -------------------------------------------------------------------------------- /images/designing_crawler_detailed_component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/designing_crawler_detailed_component.png -------------------------------------------------------------------------------- /images/designing_webcrawler_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/designing_webcrawler_high_level.png -------------------------------------------------------------------------------- /images/detailed_design_youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/detailed_design_youtube.png -------------------------------------------------------------------------------- /images/distributed_logging_datacenter_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/distributed_logging_datacenter_level.png -------------------------------------------------------------------------------- /images/distributed_logging_design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/distributed_logging_design.png -------------------------------------------------------------------------------- /images/e_ticketing_db_design.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/e_ticketing_db_design.svg -------------------------------------------------------------------------------- /images/e_ticketing_high_level.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/e_ticketing_high_level.svg -------------------------------------------------------------------------------- /images/fixed_rolling_window.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/fixed_rolling_window.svg -------------------------------------------------------------------------------- /images/fixed_window_atomicity.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/fixed_window_atomicity.svg -------------------------------------------------------------------------------- /images/fixed_window_problem.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/fixed_window_problem.svg -------------------------------------------------------------------------------- /images/hld_youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/hld_youtube.png -------------------------------------------------------------------------------- /images/ig_read_writes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/ig_read_writes.png -------------------------------------------------------------------------------- /images/ig_redundancy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/ig_redundancy.png -------------------------------------------------------------------------------- /images/instagram_high_level_design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/instagram_high_level_design.png -------------------------------------------------------------------------------- /images/quad_tree_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/quad_tree_diagram.png -------------------------------------------------------------------------------- /images/rate_limiter_high_level_design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/rate_limiter_high_level_design.png -------------------------------------------------------------------------------- /images/sequence-diag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/sequence-diag.png -------------------------------------------------------------------------------- /images/sharding_based_on_tweet_object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/sharding_based_on_tweet_object.png -------------------------------------------------------------------------------- /images/trie_merged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/trie_merged.png -------------------------------------------------------------------------------- /images/trie_storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/trie_storage.png -------------------------------------------------------------------------------- /images/trie_typeahead.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/trie_typeahead.png -------------------------------------------------------------------------------- /images/twitter_component_design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/twitter_component_design.png -------------------------------------------------------------------------------- /images/twitter_db_schema.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/twitter_db_schema.svg -------------------------------------------------------------------------------- /images/twitter_epoch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/twitter_epoch.png -------------------------------------------------------------------------------- /images/twitter_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/twitter_high_level.png -------------------------------------------------------------------------------- /images/twitter_like_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/twitter_like_high_level.png -------------------------------------------------------------------------------- /images/uber_system_design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/images/uber_system_design.png -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitgik/distributed-system-design/HEAD/requirements.txt --------------------------------------------------------------------------------