20条关键的高可用性设计原则

来源:互联网 发布:县域经济金融数据库 编辑:程序博客网 时间:2024/05/18 03:08
20条关键的高可用性设计原则

1、尽量简单化
   一切都应该尽可能简单,但不要过度简单。越简单的系统就越可靠,越不容易出错。

2、一步一个脚印
   一次只做一件事,不要强求软件具有设计功能以外的功能。

3、利用外部资源
   不要忘记了互联网这个最大的外部资源。

4、重新使用配置
   剽窃,再剽窃,不要让其他人的作品逃过你的眼睛。但一定要称之为“研究”。
   使用旧的配置文件易于维护,要做的改动少,要学的东西也少。

5、选择成熟可靠的硬件
   变老是难受的事,但是变成熟却是件好事

6、选择成熟的软件
   新的扫把能打扫卫生,但旧扫把却知道脏东西在哪里。

7、设计要留有余地
   别忘记了为以后扩展系统留点余地。

8、以史为鉴
   养成做记录的好习惯。

9、隔离你的环境
   将生产环境与开发环境隔离开来,禁止开发人员经常访问生成系统。

10、尽量多试验
   所有的应用软件、系统软件和硬件在投入生产前必须要经过一段时间的试运行。

11、超前策划
   没有好的计划,等到真正出现问题的时候就会手忙脚乱,不知所措。

12、采用服务级协议
   与用户达成书面协议来界定所提供的服务级别,包括可用性级别、服务时数、地点、优先权、上报策略和限制。

13、时时备案
   养成备案的好习惯,但是不要胡乱备案,那比不备案还糟。

14、实施更改控制
   任何改动申请都至少包括以下内容:
       有关改动的执行情况
       改动对象的详细说明
       要改动的东西
       改动的原因
       改动得不好会带来的风险
       改动错误后的恢复计划
       执行改动所需要的时间
       己申请的执行进度表

15、留意性能
    在关注可用性的时候别忘了性能,性能不好会影响用户体验。

16、加强服务器的性能
    傻子说:“不要把所有的鸡蛋都放到一个篮子里”。意思是说你应该分散资源。智者说:“没关系,把你所有的鸡蛋都放到一个篮子里,然后看好这个篮子!”

17、执行安全
    不让无关用户登录关键系统
    使用sudo或同类工具限制使用权限
    使用防火墙
    对用户进行安全培训
    及时打补丁

18、消除单点故障
    为容易出现故障的环节提供冗余。

19、不要想当然
    要获得生产性的可用性就必须进行规划并测试。

20、不要贪便宜
    一分钱一分货。在成本与价值之间寻求平衡。