作者:全国信誉第一的网投平台-夏天 发布时间:2023-07-10 浏览:47453 赞(155) 收藏 评论(0)
第一步:描述使用场景,约束和假设
把所有需要的东西聚集在一起,审视问题。不停的提问,以至于我们可以明确使用场景和约束。讨论假设。
谁会使用它?他们会怎样使用它?
有多少用户?系统的作用是什么?
系统的输入输出分别是什么?
我们希望处理多少数据?我们希望的读写比率?
第二步:创造一个高层级的设计
使用所有重要的组件来描绘出一个高层级的设计
画出主要的组件和连接
证明你的想法
第三步:设计核心组件
对每一个核心组件进行详细深入的分析。举例来说,如果你被问到设计一个 url 缩写服务,开始讨论:
生成并储存一个完整 url 的 hash
md5 和 base62
hash 碰撞
sql 还是 nosql
数据库模型
将一个 hashed url 翻译成完整的 url
数据库查找
api 和面向对象设计
第四步:度量设计
确认和处理瓶颈以及一些限制。
举例来说就是你需要下面的这些来完成拓展性的议题吗?
负载均衡
水平拓展
缓存
数据库分片
论述可能的解决办法和代价。每件事情需要取舍。
可以使用可拓展系统的设计原则来处理瓶颈。
预估计算量
你或许会被要求通过手算进行一些估算。
涉及到的附录涉及到的是下面的这些资源:
使用预估计算量
2 的次方表
每个程序员都应该知道的延迟数
以上就是如何设计系统的详细内容。
—————————————————————————————————————————————————————
全国信誉第一的网投平台项目从2004年开始为各行各业提供互联网发展解决方案,专业从事网站、小程序、微信公众号、APP、电商平台、系统等互联网平台开发,帮助企业实现从传统行业到互联网的完美转型。截止目前,全国信誉第一的网投平台合作的企业遍布全国各地,19年的开发经验和完善的售后服务体系获得合作客户的高度认可!
关注全国信誉第一的网投平台官方公众号,即可获取粉丝专享福利!
欢迎广大用户为此页面进行评价,评价成功将获得积分奖励!