高可用系统的设计与维护

来源:互联网 发布:sql删除表记录 编辑:程序博客网 时间:2024/05/19 04:54

author:skate

time:2011-02-11


 

高可用系统的设计与维护

 

对于一个高可用的系统评价,主要体现在架构、功能、性能、安全、维护、兼容性等方面,如何设计维护这样一个高可用系统的?

 

 

1.一个提供7×24服务的网站架构系统,要避免单点故障,可以通过负载均衡,双节点互备,分布式处理的方式解决。

 

2. 程序代码上线要有严格的步骤:
    开发环境,完成所需的功能
    线下测试环境,由专门的测试人员进行功能测试,压力测试,安全扫描
    线上测试环境,对更接近实际生产环境的进一步测试,减少对线上正式环境的影响
    线上正式环境,对于一些会急剧影响性能、正常服务的Bug往往在线上正式环境中,才会被发现。这就要求我们在发现Bug后,

                         能够迅速回滚到上一正常版本。

 

3. 对于DDOS的分布式攻击,防火墙可以对付一些半连接,假ip的,但是对于动态应用URL进行分布式攻击的就力不从心的。
    因为这些攻击来源为真实IP、真实HTTP请求,具有模拟正规浏览器User-Agent、单个IP的每秒请求数不高、有成千上万
    个攻击源等特征,很难与正常访问区分开,比较难对付。但是,正常通过浏览器访问一个URL,会加载该URL中引入的JavaScript
    脚本、CSS样式、图片等文件。所以我们可以通过分析web日志来查找攻击来源,然后封锁他的ip。

 

4. 对开发环境,线下测试环境,线上测试环境,线上正式环境,尽量采用相同的软硬件,避免兼容性问题

 

5. 对于一个项目要把它模块化,各模块之间做到代码独立,互不影响,可维护性也大大增强,这样对以后的维护也方便

 

6. 对于所有的数据访问入口做到统一管理,全部以接口API的方式呈现给其他需要的系统,这样一来方便以后变更扩展,二来
   系统的规范化。

 

 

------end------

 

 

原创粉丝点击