怎么制作php系统,如何设计系统

本文介绍了设计系统的过程,包括明确使用场景、约束和假设,创建高层级设计,详细设计核心组件,以及评估和优化设计。重点讨论了如何处理负载均衡、数据库选择、水平拓展和缓存策略等关键问题,适合于软件开发人员和架构师参考。
摘要由CSDN通过智能技术生成

如何设计一个系统

3cb1f0259e3c87ee8527ccf5a16b50ec.png

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

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

谁会使用它?

他们会怎样使用它?

有多少用户?

系统的作用是什么?

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

我们希望处理多少数据?

我们希望的读写比率?

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

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

画出主要的组件和连接

证明你的想法

第三步:设计核心组件

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

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

MD5 和 Base62

Hash 碰撞

SQL 还是 NoSQL

数据库模型

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

数据库查找

API 和面向对象设计

第四步:度量设计

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

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

负载均衡

水平拓展

缓存

数据库分片

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

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

预估计算量

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

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

使用预估计算量

2 的次方表

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值