陋室铭
永远也不要停下学习的脚步(大道至简至易)

 

  大规模的软件生成在架构设计上最重要考虑的事也不是技术本身,而是整个结构能否流水线生产,一个程序只负责一块,所有的设计要首先围绕着这个原则,因为流水线的负责,所以首先要管理流水线架构本身,而不是管理具体的人,怎么让流水线本身顺利的进行下去是重中之重,而不是卡在流水线某个人的地方。

 

  例如mvc模式,MVC其实在技术上也没有什么大特色,更大的好处其实是在工程上的而不是技术上的,就是尽量把前端和后端代码分开,前端工程师可以专注做前端,而后端工程师专注后端,说白了就是拆解任务更好,可以流水线生产,而不是一个程序需要做所有的事,那是作坊式的,这为大规模开发维护提供了必要条件,其实现代工程流水线的产生比技术本身更必要。

 

硬件:

服务器若干,局域网、互联网。

服务器大致分为以下几种,每种服务器可若干集群。

1. 反向代理服务器、负载平衡服务器。

2. 应用服务器。

3. 文件服务器。

4. 数据库服务器。

5. 缓存服务器。

 路由算法、读写分离、服务器负载+内存负载+分布式文件存储的数据库负载+关系数据库负载+大数据处理

软件:

最上层:云平台(虚拟云技术)+安全模型

方案一:

  1. 服务器系统:WINNT、LINUX。
  2. 反向代理服务器:有负载平衡功能,Nginx反向代理负载(可负载5w并发),路由算法。
  3. Web服务器:IIS、Tomcat、Apache。
  4. 程序开发:Asp.net、java(MVC、Srping、ORM等等)。
  5. 关系型数据库:MySQL、SQLsever、Oracle,关系型数据库集群负载cluster,读写分离。
  6. 缓存服务器:可选Memcached, Redis等等。
  7. 分布式文件存储的数据库nosql:MongoDB。

方案二:

  1. 服务器系统:WINNT、LINUX。
  2. 负载平衡服务器:Web服务器负载平衡IIS、Tomcat、Apache,路由算法。
  3. Web服务器:IIS、Tomcat、Apache。
  4. 程序开发:Asp.net、java(MVC、Srping、ORM等等)。
  5. 关系型数据库:MySQL、SQLsever、Oracle,关系型数据库集群负载cluster,读写分离。
  6. 缓存服务器:可选Memcached, Redis等等。
  7. 分布式文件存储的数据库nosql:MongoDB。
posted on 2016-09-02 20:06  宏宇  阅读(1157)  评论(0编辑  收藏  举报