大规模的软件生成在架构设计上最重要考虑的事也不是技术自己,而是整个结构可否流水线生产,一个程序只负责一块,全部的设计要首先围绕着这个原则,由于流水线的负责,因此首先要管理流水线架构自己,而不是管理具体的人,怎么让流水线自己顺利的进行下去是重中之重,而不是卡在流水线某我的的地方。前端
例如mvc模式,MVC其实在技术上也没有什么大特点,更大的好处实际上是在工程上的而不是技术上的,就是尽可能把前端和后端代码分开,前端工程师能够专一作前端,然后端工程师专一后端,说白了就是拆解任务更好,能够流水线生产,而不是一个程序须要作全部的事,那是做坊式的,这为大规模开发维护提供了必要条件,其实现代工程流水线的产生比技术自己更必要。java
硬件:算法
服务器若干,局域网、互联网。sql
服务器大体分为如下几种,每种服务器可若干集群。数据库
1. 反向代理服务器、负载平衡服务器。后端
2. 应用服务器。缓存
3. 文件服务器。安全
4. 数据库服务器。服务器
5. 缓存服务器。前端工程师
路由算法、读写分离、服务器负载+内存负载+分布式文件存储的数据库负载+关系数据库负载+大数据处理
软件:
最上层:云平台(虚拟云技术)+安全模型
方案一:
方案二: