为什么要用三层的架构设计系统呢?用C/S结构不是挺好的吗?又稳定又容易编程!
但是如果您是在一个拥有多个分公司的企业任职,或者您是一个经常从事大型软件开发的开发者,您就不会对这提出疑问了。
当大量的用户访问,导致拥有N个cpu的服务器都变得象386一样的时候,或者当网络慢得象用电话线拨号上网看电影那样的时候,又或者当每次升级系统都要到各个分公司的服务器上复制、同步数据库的时候,或者系统每次的更新的数据总无法实时提交到服务器的时候,网络由于不稳定导致数据丢失的时候,甚至用C/S结构的系统压根就无法访问远程服务器的时候,这时候您考虑升级您的系统为分布式服务系统的时候了!
当然,要开发一套稳定、高效、成熟的三层系统不是件容易的事情,其中涉及到架构的设计,中间层的设计,客户端的设计,什么的业务层啦!中间层啦!企业逻辑层啦!说这些都太过于理论化,让人摸不着边,但是要开发一套分布式的系统,您必须考虑如下问题:
1、选择什么样的数据库?
2、选择什么样的编程语言?
3、怎样解决通讯问题?
4、怎样解决效率问题?
5、要保证数据的完整性和安全性,怎样解决事务交易问题?
6、怎样解决脱机情况下的数据处理问题?
7、更深入点的是负载均衡问题?故障自动恢复?
在满足企业的业务功能的基础上,如果您设计的分布式系统都能够很好的解决以上问题,这样的分布式系统应该是比较成功的了。