• 《大型网站技术架构:核心原理与案例分析》-- 读书笔记 (2) : 大型网站核心架构要素(2) -- 可用性


    2. 可用性

        网站高可用的主要手段是冗余,应用部署在多台服务器上同时提供访问,数据存储在多台服务器上互相备份。

        对于应用服务器而言,多台应用服务器通过负载均衡设备组成一个集群共同对外提供服务。但是一个前提条件是应用服务器上不能保存请求的会话信息,否则服务器宕机,会话丢失,即使将用户请求转发到其它服务器上也无法完成业务处理。

        2.1 高可用的网站架构

            分层模型:应用层、服务层、数据层。大型网站分层的粒度更细,每层再按业务拆分

        2.2 通过负载均衡进行无状态的失效转移

        2.3 应用服务器集群的session管理

            2.3.1 session复制 -- 集群规模较大时,不可取

            2.3.2 session绑定 -- 对同一用户的请求,总是发送到集群中的同一台服务器。当此服务器宕机时,session丢失,不可取

            2.3.3 使用cookie记录session -- 不可取。大小受限; 每次请求响应均需要传输cookie,影响性能; 如果用户关闭cookie,则导致访问不正常

            2.3.4 session服务器(集群) -- 应用服务器每次读写session时,均访问session服务器

        2.4 高可用的服务

            2.4.1 分级管理:服务分高优先级和低优先级。高优先级的服务独立部署。

            2.4.2 超时设置

            2.4.3 异步调用

            2.4.4 服务降级:高峰期间,拒绝或关闭非核心业务。比如双十一期间关闭”评价“服务

            2.4.5 幂等性设计: 服务层保证服务重复调用和调用一次的结果相同

        2.5 高可用的数据

            2.5.1 CAP原理:提供数据服务的存储系统无法同时满足数据一致性(Consistency)、数据可用性(Availibility)、分区耐受性(Partition Tolerance,系统具有跨网络分区的伸缩性)这三个条件。大型网站应用中,通常会选择强化分布式存储系统的可用性(A)和伸缩性(P),而在某种程度上放弃一致性(C)。

            2.5.2 数据备份

        2.6 网站运行监控

            2.6.1 监控数据采集:用户行为日志收集、服务器性能监控、运行数据报告

            2.6.2 监控管理:系统报警、失效转移、自动优雅降级

  • 相关阅读:
    vs2013如何在C++中调用Lua(二)
    用vs2013编译lua源码方法(一)
    使用Sublime Text 直接运行Quick-cocos2d-x 项目
    SubmitText 中配置lua 运行环境
    在VS2012/2013上编辑和调试Quick-cocos2d-x的Lua代码
    Cocos2d-x 开发 v3.2 建立新项目并添加库文件
    计算一段函数的执行效率
    C++中嵌入Lua脚本环境搭建
    Android开发环境配置
    cocos2d-x-3.1.1 创建项目
  • 原文地址:https://www.cnblogs.com/langfanyun/p/6764042.html
Copyright © 2020-2023  润新知