System Design——系统设计过程(二)抽象设计

英文原文链接:https://www.hiredintech.com/classrooms/system-design/lesson/56

-----------------------------分隔符------------------------------------------------------------------------------------

系统设计过程

  • Step 1  约束和用例
  • Step 2  抽象设计
  • Step 3  理解瓶颈
  • Step 4  可扩展性设计
-----------------------------分隔符------------------------------------------------------------------------------------

Step 2 抽象设计

当全方位地思考审视了你准备设计的系统,你应该做的是更高层次的抽象设计。做这一步的目的是规划列出所有这个系统所需要的重要组件。

为了能够做好这一步,或者在面试中处理这类问题时,可以通过手绘图表的方式来做。草拟一下你所需要的主要组件,同时明确它们之间的关联关系。如果你朝着正确的方向前进了,你将很快得到收获。同时需要注意,不要在抽象设计这一步中,在某些个别方面有过深的分析,只需要草拟组件和明确关联即可。

通常,这类高层次的系统设计是各种已开发的著名技术的整合体。你必须对这些技术非常熟悉, 同时了解对这些技术的使用。在这章包括后面的章节中,就暂且假定对这些技术都有了足够的了解。我们的重点在后面的章节:可扩展性和优化瓶颈。

同样以URL缩短服务为例,来介绍如何分析抽象设计:

抽象设计:

1、应用服务层

  • 缩短URL服务
  • 重定向服务

2、数据存储层

  • 存储映射关系
  • 根据key恢复出实际URL值

目前简略分出了这两层,初步为了实现功能而做了规划,但是仍旧有一些细节的东西需要根据实际情况来进行规划。比如在执行hash的时候(如果直接存储原始URL,有时候URL过长,过大,占用存储空间;因此在这边通过hash来缩短存储与DB的值。),应该选择什么样的hash算法等,都是需要考虑的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值