大型网站技术架构——核心原理与案例分析(三)

2017-11-01  本文已影响28人  Steven_cao

集群环境下,Session管理的主要方式:

1、Session复制 适用于集群规模较小

2、Session绑定 将来源于同一IP的地址,分配到固定的服务器

3、利用Cookie记录Session 缺点 Cookie受大小限制,如果关闭Cookie,访问就会受限。、

4、Session服务器 将应用服务器状态分离、分离成有状态的Session服务器,无状态的应用服务器

高可用服务的策略:

1、分级管理

2、超时设置

3、异步调用

4、服务降级、拒绝服务 关闭功能 

5、幂等性设计  指应用调用服务失败后,会将调用请求重新发送到其他服务器,但是这个失败可能是虚假的失败。缺点,服务重复调用是无法避免的,因此必须在服务层保证服务重复调用和调用一次产生的结果相同,即服务具有幂等性。

高可用的数据

     保证数据存储高可用的手段主要是数据备份和失效转移机制。数据备份是保证数据有多个副本,失效转移机制是保证当一个数据副本不可访问时,可以快速切换访问数据的其他副本。

高可用数据有以下几层含义:

1、数据持久性

2、数据可访问性

3、数据一致性

CAP原理  

数据一致性(Consisency):

     a、数据强一致:各个副本数据在物理存储中总是一致的

     b、数据用户一致 :即数据在物理存储中各个副本的数据可能不一致,但是终端用户访问时,通过纠错和校验机制,可以确定一个一致的且正确的数据返回给用户

    c、数据最终一致、系统经过一段时间(比较短)的自我修复和修正,数据最终达到一致

数据可用性(Avalibility)

分区耐受性(Patition)

数据备份:

冷备:

热备:Master - Slave

失效转移

1、失效确认(心跳检测和应用程序访问失败报告)

2、访问转移

3、数据恢复 

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

1、网站发布 集群中一部分的替换

2、自动化测试

3、预发布验证

4、代码控制

5、自动发布

6、灰度发布

7、网站运行监控(重点)

上一篇下一篇

猜你喜欢

热点阅读