# System Design Notes ###### tags: `System Design` `Distributed System` `Server` `System Administration` `Software` `Kubernetes` `API` Learn how to create an architecture for different components, interfaces, and modules of the system and provide corresponding data helpful in implementing such elements in systems. - Sketchy System Design Overview ![](https://i.imgur.com/ocnHdzI.png) - Microservices & Development ![Q8lXxi8](https://hackmd.io/_uploads/BJY3JMeE6.png) ## Resources - [System Design Interview: A Step-By-Step Guide - ByteByteGo](https://www.youtube.com/watch?v=i7twT3x5yv8&ab_channel=ByteByteGo) - [Architecting a Cloud Native API Solution - IBM Technology](https://www.youtube.com/watch?v=sKfep-UmZeM) ## Sketch a System ### custom APIs defination monolithic system -> distributed microservices -> with API gateway - design a shopping site with microservices (contentDB fetch / order serv / account serv / inventory serv / shipping serv / review system...) ![](https://i.imgur.com/Zl4FygE.png) - all setup/documental_sketch/develop_files between local repository & server running k8s ![](https://i.imgur.com/rAkvrzh.png) ### time management 1. [10%] understand problem, restrictions, requirements - open freeminded & construct whole blueprint delicated - consider technical topics like scalability, pipeline, efficiency, consistency 2. [45%] design in high level (functions between users & servers) & sketch overall diagram - comunication method - API gateways -> functions - virtual physical infrastructures (Ex. data storage layer, functional units, recycle daemons ...) - data model & schema (take performance / tradeoff into accounts) - data access patterns - R/W ratio 3. [40%] design in detailed - articulate & identify potential problems & solutions - come up with multiple feasible solutions & features & tradeoffs for different scenarios - modified detailed design impl until meet the requirement & acceptable tradeoffs - [(How To Choose The Right Database? - ByteByteGo)](https://www.youtube.com/watch?v=kkeFE6iRfMM) 5. [5%] overview - nonfunctional features: efficiency / scalability / pros & cons - retrospect and future prospect ## data pipeline > how do you dealing with your data [Data Pipeline 從零開始建置 - 阿喵就像家](https://mlwmlw.org/2018/09/data-pipeline-%e5%be%9e%e9%9b%b6%e9%96%8b%e5%a7%8b/) ![](https://i.imgur.com/YOQsJfF.png) ## Performance ### Scale up ![](https://i.imgur.com/liAMwkL.png) ### hardware acceleration [Understanding How Browser Run an Application - Chrome Dev](https://developer.chrome.com/blog/inside-browser-part1/#browser-architecture) - moving different services into multiple processes and a single browser process ![](https://developer.chrome.com/static/blog/inside-browser-part1/image/chrome-servification-f06f547c54405.svg)