0

0

如何设计系统

(*-*)浩

(*-*)浩

发布时间:2019-07-29 11:51:29

|

6298人浏览过

|

来源于php中文网

原创

如何设计一个系统

如何设计系统

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

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

谁会使用它?

他们会怎样使用它?

有多少用户?

系统的作用是什么?

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

我们希望处理多少数据?

我们希望的读写比率?

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

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

画出主要的组件和连接

证明你的想法

第三步:设计核心组件

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

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

MD5 和 Base62 

Hash 碰撞 

SQL 还是 NoSQL 

数据库模型

CA.LA
CA.LA

第一款时尚产品在线设计平台,服装设计系统

下载

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

数据库查找

API 和面向对象设计

第四步:度量设计

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

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

负载均衡

水平拓展

缓存

数据库分片

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

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

预估计算量

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

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

使用预估计算量

2 的次方表

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

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

相关专题

更多
php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

1

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

15

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.13

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.5万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号