zoukankan      html  css  js  c++  java
  • 最近的系统基础架构的设想

    去年经历了一次数据库服务器硬盘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就可以了。 

  • 相关阅读:
    Vue $nextTick的一个使用场景
    Vue 使用v-for对Object进行遍历
    JavaScript 回调函数的简单示例
    VSCode 自定义Vue snippets, 快速生成Vue模板
    git将一个分支完全覆盖另外一个分支如:dev分支代码完全覆盖某一个开发分支
    解决bootstrap时间输入框总被浏览器记住的记录遮挡住的问题
    Fiddler 屏蔽JS、抓WebSocket协议、查看接口响应时间、模拟并发请求
    细说MySQL的时间戳(Timestamp)类型
    网站建设之域名注册和域名备案
    日常项目测试用例检查点(来自一线测试人员的吐血总结)
  • 原文地址:https://www.cnblogs.com/jlzhou/p/2964974.html
Copyright © 2011-2022 走看看