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


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

    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)失效转移
  • 相关阅读:
    bzoj2751
    bzoj1483
    bzoj1011
    bzoj1412
    bzoj1820
    bzoj1295
    bzoj3444
    Java--Exchanger用于进行线程间的数据交换
    Java--Semaphore控制并发线程数量
    Java--Spring AOP 源码散点记录(最后整理成一篇博客)
  • 原文地址:https://www.cnblogs.com/ivy-zheng/p/10952159.html
Copyright © 2020-2023  润新知