读大型网站技术架构---第二篇---第五章---架构高可用

网站的可用性的度量和考核

可用性度量

网站不可用被称作网站故障,QQ的可用性是4个9,即QQ服务99.99%可用,也就是一年中大约最多53分钟不可用。

网站不可用时间 = 故障修复时间点 - 故障发现时间点;

网站年度可用性指标 = (1 - 网站不可用时间/年度总时间)* 100 %;

网站可用性考核

高可用的网站架构

高可用的架构设计主要目的就是保证服务器硬件故障时服务依然可用,数据依然保存并能够被访问。

高可用的应用

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

没有状态的应用给高可用的架构设计带来便利,因此所有的服务器都是对等的。对于应用服务器集群,实现这种服务器可用状态实时监测,自动转移失败任务的机制是负载均衡。

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

1. Session复制

应用服务器开启Web容器的Session复制功能呢,在集群中的几台服务器之间同步Session对象,使得每台服务器都保存所有用户的Session信息。

缺点:方案虽简单,从本机读取Session信息也很快速,但是只能在集群规模比较小的情况下。当集群规模较大时,集群服务器需要大量的通信进行Session复制。这就使得大型网站的核心应用集群就是数千台服务器,同时在线用户可达千万,因此不适合这种方案。

2. Session绑定

Session绑定就是利用利用负载均衡的源Hash算法实现,负载均衡服务器总是将来源于同一个IP的请求分发到同一台服务器上。整个会话期间,用户所有的请求都在同一个服务上处理,即Session绑定在某台特定服务器上,保证Sesssion总能在这台服务器上获取。此种方法又被称作会话黏滞。

缺点:不符合对系统高可用的需求,一旦某台服务器宕机,那么Session就不复存在了。

3. 利用Cookie记录Session

利用浏览器支持的Cookie记录Session。

缺点:受限Cookie大小,影响性能,Cookie不可用等等因素。

4. Session服务器

利用独立部署的Session服务器(集群)同意管理Session,应用服务器每次读写Session时,都访问Session服务器。

这种方式事实上就是将应用服务器的状态分离,分为无状态应用服务器和有状态的Session服务器。针对有状态的服务器,比较简单的方式就是利用分布式缓存,数据库等。保存Session。如果业务有比较高的要求还可以利用Session服务集成单点登录(SSO),用户服务等功能,则需要开发专门的Session服务管理平台。

针对其他的不想在此记录,有点啰嗦书里,没啥好的记录点,或许是自己没到那个高度,所以关注的点不一样。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值