我见过许多系统设计的例子。例如,在系统设计面试中为Twitter设计URL缩写。
那么,什么是系统架构呢?
这两件事是一样的吗
发布于 2022-08-13 13:56:48
不,他们不一样,但他们是亲戚。
系统设计是试图根据所提供的需求提出可行的解决方案(或多个解决方案)的过程。您尝试指定具有定义良好的责任的较小组件。此外,您还定义了它们是如何(以及何时)相互作用的。
系统架构是前一个过程的产物。它描述了如何将问题空间划分成更小的块,以及您的组件作为一个整体如何尝试解决原来的大问题。
更新#1:提供示例
为了更好地说明不同之处,让我提供一个超级简化的例子。
上下文
假设您有一堆微服务,其中一些服务有时会被滥用。在资源滥用期间,服务变得缓慢和没有响应性。
为了缓解这一状况,企业决定引入速率限制。
设计
这些步骤被简化和简化,以便于理解。
工件
更新#2:反映OP的示例
假设我正在设计tinyUrl,如果我正在进行系统设计,我将执行以下操作:
与系统架构相同的示例将更多地涉及实现细节,我将选择使用哪种技术?
如前所述,系统设计是过程,而系统架构是设计过程的结果。您所描述的是过程,它可能/可能不包括技术选择。
让我试着从另一个角度来捕捉这个差异。每当您为某个特定问题设计解决方案时,您就会探索不同的备选方案,并尝试根据需求明智地进行选择。您所建议的体系结构捕获了您的设计,以便能够对系统进行推理。但这是有生命的东西。随着新需求的出现,它可能会随着时间的推移而改变。
https://stackoverflow.com/questions/73339739
复制相似问题