《大型网站技术架构》-读书笔记四:高可用架构

一、网站可用性的度量与考核

1、可用性度量:通常用多少个9来形容网站的可用性

2、可用性考核:可用性指标是网站架构设计的重要指标,对外是服务承诺,对内是考核指标。

 二、高可用的网站架构

三、高可用的应用

  1、通过负载均衡进行无状态服务的失效转移

  

   2、应用服务器集群的Session管理。集群管理下,Session管理主要有以下几种手段

    (1)Session复制:适用于集群规模比较小的情况

      

    (2)Session绑定

      

    (3)利用cookie记录session:把session保存在cookie中

    (4)Session服务器

      

四、高可用的服务

  1、分级管理

  2、超时设置

  3、异步调用:应用对服务的调用通过消息队列等异步方式完成,避免一个服务失败导致整个应用请求失败的情况。

  4、服务降级:拒绝服务和关闭服务

  5、幂等性设计:必须在服务层保证服务重复调用和调用一次产生的结果相同,及服务具有幂等性。

五、高可用的数据

  保证数据高可用的手段就是数据备份和失效转移机制

  1、CAP原理:

    (1)高可用的数据有如下几层含义:数据持久性,数据可访问性,数据一致性

  

    (2)数据一致性分为如下几点:数据强一致性,数据用户一致,数据最终一致

      

  2、数据备份

    (1)冷备

    (2)热备:异步热备方式和同步热备方式

      1)异步热备:

      

      2)同步热备

      

  3、失效转移:由三部分组成:失效确认,访问转移,数据恢复

     失效确认两种方式:心跳检测和应用程序访问失败报告

六、软件质量保证

  1、网站发布

         

  2、自动化测试:selenium可以同时完成web功能的测试和浏览器的兼容

  3、预发布验证:

  

  4、代码控制

    (1)主干开发,分支发布

    (2)分支开发,主干发布

  5、自动化发布

    

  6、灰度发布

  

 七、网站运行监控

  1、监控数据采集

    (1)用户行为日志收集:服务端日志收集和客户端浏览器日志收集

     (目前许多网站逐步开发基于实时计算框架Storm的日志统计与分析工具)

      (2)服务器性能监控:目前网站使用比较广泛的开源性能监控工具是Ganglia

      (3)运行数据报告:

  2、监控管理

    (1)系统报警

    (2)失效转移

猜你喜欢

转载自www.cnblogs.com/ivy-zheng/p/10952159.html