本周系统设计复习:

  • HTTP 1 vs HTTP 2 vs HTTP 3!
  • 大公司发起或支持的 20 个流行开源项目
  • UML 类图速查表
  • 6 个将代码转换为精美图表的工具
  • 5 个本不该创建的 HTTP 状态码

大公司的开源项目

Google

  • Kubernetes:容器编排系统
  • TensorFlow:机器学习框架
  • Go:编程语言
  • Angular:Web 框架

Meta

  • React:JavaScript 库
  • PyTorch:机器学习框架
  • GraphQL:查询语言
  • Cassandra:分布式数据库

Microsoft

  • VSCode:代码编辑器
  • TypeScript:编程语言
  • Playwright:浏览器自动化

Netflix

  • Chaos Monkey:混沌工程工具
  • Hystrix:容错库
  • Zuul:API 网关

LinkedIn

  • Kafka:消息队列
  • Samza:流处理
  • Pinot:分析数据库

RedHat

  • Ansible:自动化工具
  • OpenShift:容器平台
  • Ceph Storage:分布式存储

UML 类图组件

UML 是可视化系统设计标准方式,类图在整个行业中广泛使用。

它们包括:

  • 类(Class):作为定义对象属性和行为的蓝图
  • 属性(Attributes):UML 类图中的属性表示类的数据字段
  • 方法(Methods):UML 类图中的方法表示类可以执行的行为
  • 接口(Interfaces):定义实现它的类的契约。包括实现类必须提供的一组方法
  • 枚举(Enumeration):特殊数据类型,定义一组命名值,如产品类别或一年中的月份
  • 关系(Relationships):确定一个类如何与另一个类相关。一些常见关系如下:
    • 关联(Association)
    • 聚合(Aggregation)
    • 组合(Composition)
    • 继承(Inheritance)
    • 实现(Implementation)

6 个图表工具

  1. Diagrams
  2. Go Diagrams
  3. Mermaid
  4. PlantUML
  5. ASCII 图表
  6. Markmap

5 个奇怪的 HTTP 状态码

  1. 451 Unavailable for Legal Reasons:由于法律问题拒绝访问
  2. 218 This is Fine:灵感来自梗图,绕过服务器错误覆盖
  3. 420 Enhance Your Calm:Twitter 旧的超出速率限制代码。现在改为 429
  4. 530 Site Frozen:Pantheon 用于锁定网站,通常是未付账单
  5. 418 I’m a Teapot:经典的愚人节玩笑,表示服务器的限制

本文为学习目的的个人翻译,译文仅供参考。

原文链接:EP127: 20 Popular Open Source Projects Started or Supported By Big Companies

版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。