PHP程序员小白到大牛集训(12期免息)
首页 >常见问题 > 正文

如何设计系统

原创2019-07-29 11:51:294914 + php学习QQ群(点击入群)
如何设计一个系统

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

第一步:描述使用场景,约束和假设(推荐学习:PHP视频教程

把所有需要的东西聚集在一起,审视问题。不停的提问,以至于我们可以明确使用场景和约束。讨论假设。

谁会使用它?

他们会怎样使用它?

有多少用户?

系统的作用是什么?

系统的输入输出分别是什么?

我们希望处理多少数据?

我们希望的读写比率?

第二步:创造一个高层级的设计

使用所有重要的组件来描绘出一个高层级的设计

画出主要的组件和连接

证明你的想法

第三步:设计核心组件

对每一个核心组件进行详细深入的分析。举例来说,如果你被问到设计一个 url 缩写服务,开始讨论:

生成并储存一个完整 url 的 hash

MD5 和 Base62

Hash 碰撞

SQL 还是 NoSQL

数据库模型

将一个 hashed url 翻译成完整的 url

数据库查找

API 和面向对象设计

第四步:度量设计

确认和处理瓶颈以及一些限制。

举例来说就是你需要下面的这些来完成拓展性的议题吗?

负载均衡

水平拓展

缓存

数据库分片

论述可能的解决办法和代价。每件事情需要取舍。

可以使用可拓展系统的设计原则来处理瓶颈。

预估计算量

你或许会被要求通过手算进行一些估算。

涉及到的附录涉及到的是下面的这些资源:

使用预估计算量

2 的次方表

每个程序员都应该知道的延迟数

更多PHP相关技术文章,请访问PHP图文教程栏目进行学习!

以上就是如何设计系统的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:设计
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    自己动手手写一个MVC框架(40节精讲/巨细/新人进阶必看):立即学习

    快速了解框架底层运行原理+提高自身开发逻辑+新人必学课程

    相关文章

    相关视频


    视频教程分类

    专题推荐

    官方公众号

    php中文网课程

    扫码关注官方公众号
    回复“phpcn01”领取php学习资料课程
    全套工具、电子书、脑图、内部课程等

    推荐视频教程

    开通VIP会员课 0元学

    热门推荐