最近在逛Github
,发现一个非常不错的Github
开源项目,该项目非常适合对系统设计感兴趣或者不了解的童鞋,里面包含了各种各样的设计图,而且使用通俗易懂的话来描述,几乎涵盖了开发人员可能接触到的不同业务场景。这个项目是ByteByte Go开源的system-design-101项目。
项目地址:https://github.com/ByteByteGoHq/system-design-101
仅仅开源几天,就已经有13.4k的star了,确实nb。
我们看看它主要有哪些分类的系统设计图,我把它目录直接复制出来:
- REST API vs. GraphQL
- How does gRPC work?
- What is a webhook?
- How to improve API performance?
- HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 -> HTTP 3.0 (QUIC)
- SOAP vs REST vs GraphQL vs RPC
- Code First vs. API First
- HTTP status codes
- What does API gateway do?
- How do we design effective and safe APIs?
- TCP/IP encapsulation
- Why is Nginx called a “reverse” proxy?
- What are the common load-balancing algorithms?
- URL, URI, URN - Do you know the differences?
- A nice cheat sheet of different databases in cloud services
- 8 Data Structures That Power Your Databases
- How is an SQL statement executed in the database?
- CAP theorem
- Types of Memory and Storage
- Visualizing a SQL query
- SQL language
- What does a typical microservice architecture look like?
- Microservice Best Practices
- What tech stack is commonly used for microservices?
- Why is Kafka fast
- How to learn payment systems?
- Why is the credit card called “the most profitable product in banks”? How does VISA/Mastercard make money?
- How does VISA work when we swipe a credit card at a merchant’s shop?
- Payment Systems Around The World Series (Part 1): Unified Payments Interface (UPI) in India
- DevOps vs. SRE vs. Platform Engineering. What is the difference?
- What is k8s (Kubernetes)?
- Docker vs. Kubernetes. Which one should we use?
- How does Docker work?
- How does HTTPS work?
- Oauth 2.0 Explained With Simple Terms.
- Top 4 Forms of Authentication Mechanisms
- Session, cookie, JWT, token, SSO, and OAuth 2.0 - what are they?
- How to store passwords safely in the database and how to validate a password?
- Explaining JSON Web Token (JWT) to a 10 year old Kid
- How does Google Authenticator (or other types of 2-factor authenticators) work?
- Netflix’s Tech Stack
- Twitter Architecture 2022
- Evolution of Airbnb’s microservice architecture over the past 15 years
- Monorepo vs. Microrepo.
- How will you design the Stack Overflow website?
- Why did Amazon Prime Video monitoring move from serverless to monolithic? How can it save 90% cost?
- How does Disney Hotstar capture 5 Billion Emojis during a tournament?
- How Discord Stores Trillions Of Messages
- How do video live streamings work on YouTube, TikTok live, or Twitch?
可以看到,包含了的分类有:通讯协议、CI/CD、设计模式、数据库、缓存、微服务架构、支付系统、DevOps、Git、云服务、Linux、安全等等方面的架构图。
比如我想知道grpc怎么工作的,点击 how does grpc work,可以看到它的系统架构图如下:
然后也会每个步骤都说得很清晰:
所以这个项目可以帮助我们去理解,或者省去画相同的系统设计图的操作。
最后,附上相关的资料:
- 项目地址:https://github.com/ByteByteGoHq/system-design-101
- 官网(注册只能7天免费看):https://blog.bytebytego.com/
- 视频教程:https://www.youtube.com/@ByteByteGo/playlists
考虑到访问速度,我已经fork该仓库到我的gitee了,有兴趣的小伙伴可以直接去查看:https://gitee.com/19931024/system-design-101