《大型网站技术架构原理与解析》第五章-万无一失:网站高可用架构

参考书籍《大型网站技术核心原理与案例分析》

网站的可用性描述可有效访问的特性,Availability.

5.1 网站可用性的度量与考核

网站最终呈现在用户面前,经过了很多环节,中间存在很多问题:
DNS被劫持、CDN服务挂掉、网站服务器宕机、网络交换机可能失效、硬盘会损坏、网卡会松动、机房停电、空调失灵、程序会有bug、黑客攻击、促销带来的大量访问、第三方合作伙伴的服务可不可用。

5.1.1 网站可用性度量

4个9原则,99.99%也就是说一年中大约有53分钟仍然不可用。

网站不可用时间 = 故障修复时间点 - 故障发现报告时间点
网站年度可用性指标 = (1-网站不可用/年度总时间)x 100%

对于大多数网站而言,2个9基本可用、3个9较高可用、4个9是自动恢复能力的高可用。
5个9就是年度网站不可用时间小于5分钟。

5.1.2 网站可用性考核

可用性,对外是服务承诺、对内是考核指标。

-w710
-w333

5.2 高可用的网站架构

-w416
心跳检测、负载均衡、服务注册中心来实现高可用。
无论是应用层还是服务层都是如此。

5.3 高可用的应用

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

-w576

5.3.2 应用服务器集群的Session管理

1、session复制(每台服务器保存所有用户session信息)
数据量一大,内存不够的情况会出现,通信进行复制占用服务器和网络大量的资源。

-w473

2、Session绑定
-w557
特定ip利用hash算法会请求同一个服务器。

但是不符合高可用。

3、利用Cookie记录session
-w508
cookie纯属影响新能,但是简单、可用性高。

4、Session服务器
-w607
这种解决方案是将应用服务器的状态分离,分为无状态和有状态的session服务器(分布式缓存、数据库等技术)。

5.4 高可用服务

1、分级管理
2、超时设置
3、异步调用
4、服务降级(关闭服务或者拒绝服务)双十一时关闭确认收货、评价等功能
5、幂等性设计(重复调用时要返回相同的结果)

5.5 高可用的数据

-w722

5.5.1 CAP原理

高可用数据有几层含义:
-w717
副本、副本切换、副本一致性保持。

-w705
CAP理论认为CAP只能满足其中2个特性,无法同时满足三个条件。

数据一致性分为:
强一致、数据用户一致、数据最终一致。
-w705

5.5.2 数据备份

冷备优点是简单、廉价,但是不能保证数据最终一致。(定期备份的)

因此数据热备与冷备一起使用,热备又分为:异步热备方式、同步热备方式。

-w700
zk等分布式框架式一般写成功就返回。

关系数据库热备机制就是通常所说的master-slave同步机制。ms机制不但解决数据备份问题,还改善数据库性能,通常使用读写分离的方法。

5.5.3 失效转移

-w717
-w575
接着就是访问转移、数据恢复。

5.6 高可用网站的软件质量保证

-w375

通常手段有自动化测试、自动化发布、预发布验证

5.6.4 代码控制

1、主干开发、分支发布
2、分支开发、主干发布
-w747
-w552
-w473

5.7 网站运行监控

5.7.1 监控数据采集

1、用户行为日志收集
包括浏览器操作系统、版本、ip地址、页面访问路径、页面停留时间等、pv/uv、分析用户行为、优化网站设计、个性化营销与推荐。
服务端收集、客户浏览器收集。

2、服务器性能监控
sysload\io\内存占用等
3、运行数据报告
缓冲命中率、平均响应延迟时间、每分钟发送邮件数目、待处理的任务总数

5.7.1 监控管理

系统报警、失效转移、自动优雅降级

5.8 小结

-w722

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值