最近的系统基础架构的设想

去年经历了一次数据库服务器硬盘RAID崩溃的故障,起因是组成RAID5的6块硬盘有2块同时损坏,造成数据无法恢复。我个人猜想2块硬盘同时损坏的几率微乎其微,估计是其中一块早就损坏了,但是负责维护的承包商没有及时巡视发现并解决问题,造成第二块硬盘发生故障时,RAID彻底崩溃。还好,服务器每天都有定时备份,而且没有特别关键性的业务,只丢失了少部分数据。于是从备份中恢复数据到另外一台服务器,及时恢复了系统的运行。

回头检讨系统基础架构方面的潜在问题,每天数据库只有定时备份,备份间隔中产生的数据有丢失的风险。数据库软件是微软的SQL SERVER 2000,如果采用复制的办法复制数据到其他的服务器,势必要增加软硬件的成本。而且,微软早已停止销售旧版本的SQL SERVER,只能升级到新版本,这又会增加现有应用系统数据库迁移的工作。

设想今后的系统基础架构,应该在免费的开源平台和收费的商业软件之间找到平衡点:既要保证开发效率,又要保护以前的技术上的积累,尽可能降低运行部署的成本。

我目前的想法是:

客户端仍然采用用户普及度高的Windows平台做C/S应用,或者根据应用的特点和交互要求采用B/S架构。C/S客户端使用Delphi或者.NET开发。

应用服务器端使用.NET平台开发ASP.NET MVC + Entity Framework,继续使用微软的.NET开发工具Visual Studio和DevExpress的控件。

数据库改用免费开源的MySQL或PostgreSQL,既可以省下一大笔数据库软件的开销,还为数据冗余复制和性能扩展留下空间。数据库服务器也可以使用开源免费的Linux平台,如CentOS,进一步降低成本。

综上所述,在部署应用时,软件部分仅需要购买Windows Server的licence就可以了。 

 

 

posted on 2013-03-17 21:22  jlzhou  阅读(754)  评论(0编辑  收藏  举报

导航