大家好,我是篱笆老师。 在上一课中,我们介绍了系统设计常用流程的前3个步骤:第一步是澄清,第二步是需求分析,第三步是成本估算。
一般的流程是,我们从用户开始,然后用户可能会向几个低平衡器或 API 网关发出请求,然后我们的 api 网关或低平衡器会将这些请求分发到许多不同的服务器。 这些服务器可以与反手或数据库进行交互
这是一个一般的流程,但会有很多变化,而且会有很多变化,所以我们稍后会看。 那么我们实际上可以看作是一个里程碑,当我们画完这个整体流程图之后,这是我们小设计、系统设计的一个里程碑。 在这一点上,我们可以说已经完成了一些基本要求,然后有两点我们需要强调。
首先,第一点是API设计。 也就是说,我们的 API 是我们的系统与用户交互的方式。 API 主要有两种类型,一种是 RPC,另一种是 REST,我们稍后会讨论。 但这个 API 设计也非常重要,因为它决定了我们如何与用户沟通。 在API设计完成后,我们将重点放在数据库设计上,因为不管是什么样的系统,我们的系统肯定会存储一些数据,既然我们想要存储数据,那么这个数据库的选择就很重要了,那么我们都知道数据库现在分为很多类别, 比如SQL、NOSQL、OLTP、OLAP,如何选择不同类型的数据库,那么这是一个非常重要的话题。
当我们谈到这两点时,那么在正常情况下,系统设计时间应该不会在上面,但是如果你很有能力,比如说,你有一些时间你可以有两个选择,一个选项是你可以把整个话题总结一下,你可以向面试官解释比如为什么我们选择nosql而不是sql, 然后为什么我们需要低平衡器,然后如果负载非常大,我们如何扩展我们的系统,这是一个选项。然后还有另一种选择,你可以谈论一些其他的事情,比如如何进行监控,然后如何改进我们的系统以使其更安全,或者例如,灾难恢复会有一些注意事项,或者其他一些 AS,这些也是一个很好的话题,然后我们做整个过程, 然后这被认为是一个系统设计。
如果你有工作经验,你其实可以发现,这和在公司里写一个设计文档,然后做一个设计或者演示非常相似。 所以有很多很多的点需要考虑,下面我们来看看这些常见的系统设计主题,那么以上就是系统设计的一些一般流程。
在下一课中,我们将通过一个相对简单的示例问题,真正感受到系统设计的成功,如果你喜欢这个系列,欢迎评论**设计这个系列,让我们一起做得更好,然后我们下节课见,再见!