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

集群环境下,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、网站运行监控(重点)

时间: 2024-09-08 06:04:03

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

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

网站高性能架构 一.性能测试指标  1.1.响应时间 1.2.并发数   指系统能够同时处理请求的数目,反映了系统的负载特性 1.3.吞吐量  TPS(每秒事务数) HPS(每秒HTTP请求数) QPS(每秒查询数)等 1.4.性能计数  包括System Load.对象与线程数.内存使用.CPU使用.磁盘与网络I/O等指标 二.性能测试方法 2.1.性能测试 与初期规划的性能指标为预期目标,不断施加压力,验证是否在可接受范围,性能是否能达到性能预期 2.2.负载测试  不断地增加并发请求以增加

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

一.大型网站架构模式: 1.分层 - 横向 如应用层.服务层.数据层 2.分割-纵向 将业务化分为不同粒度的细小的功能和服务 如订单业务.购物车业务.短信业务.邮件业务等 3.分布式-将不现的服务.不同的模块部署在不同的服务器,通过远程调用协同工作,分布式静态资源.分布式数据和存储.分布式计算.注意,会对性能有影响(网络请求开销),分布式事物.数据一致性. 4.集群-用更多服务器提供相同的服务,可以提供很好的并发性,不足以支持访问量时,只需要要向集群中加入新的机器即可.当一台机子不可用时,可通过

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

网站的安全架构 1.网站的攻击与防御      1.1   XSS攻击即跨站点脚本攻击      1.2 注入攻击:SQL注入 OS注入        1.3 CSRF攻击      1.3 其他攻击和漏洞 2.信息加密技术及密钥安全管理 3.信息过滤及反垃圾 4.电子商务风险控制

大型网站技术架构:核心原理与案例分析

链接 性能优化 Web前端性能优化 应用服务器性能优化 软件质量保证 代码控制 自动化发布 灰度发布 网站运行监控 伸缩性设计 按功能物理分离 负载均衡 分布式缓存 可扩展设计 利用分布式消息队列降低系统耦合性 利用分布式服务打造可服用的业务平台 1 链接 个人博客: alex-my.xyz CSDN: blog.csdn.net/alex_my 本书作者: 李智慧 2 性能优化 1 Web前端性能优化 浏览器优化访问 减少http请求.主要是合并css,合并js,合并图片.将浏览器一次访问所需

大型网站技术架构(三)--架构核心要素

所谓架构,一种通俗的说法就是"最高层次的规划,难以改变的决定",这些规划和决定奠定了事物未来发展的方向和最终的蓝图. 而软件架构即"有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计".一般来说软件架构需要关注性能.可用性.伸缩性.扩展性和安全性这5个架构要素. 1.性能 性能是网站架构设计的一个重要方面,任何软件架构设计方案都必须考虑可能带来的性能问题.也正因为性能问题几乎无处不在,所以优化网站性能的手段也非常多: 浏览器端:可以通过浏览器缓存.页

一、大型网站技术架构演化

大型网站系统的特点 1.高并发,大流量 2.高可用:7*24小时不间断服务,不宕机 3.海量数据储存及管理 4.网络复杂 5.安全性 6.易扩展,可伸缩:需求快速变更,发布频繁 7.渐进式发展:脸谱网是宿舍,谷歌是斯坦福大学实验室,淘宝是马云家 一句话,高可用,高性能,易扩展,可伸缩且安全的网站. 大型网站架构演化发展历程 1.初始阶段     单机服务器:应用程序+数据库+文件都在一台服务器上. 2.应用服务和数据服务分离     应用服务器,文件服务器和数据库服务器. 中间通过通信的是:HT

大型网站技术架构(1)

网站都是从小网站一步一步发展为大型网站的,而这之中的挑战主要来自于庞大的用户.安全环境恶劣.高并发的访问和海量的数据,任何简单的业务处理,一旦需要处理数以 P 计的数据和面对数以亿计的用户时,问题就会变的很棘手 下面我们就来说说这个演变过程: 初始阶段 大型网站都是由小型网站演变而来的,网站架构也一样 小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,就像这样: 应用程序.数据库.文件等所有资源都在一台服务器上,通常使用 Linux PHP MySQL Apache 就可以完成整个项目部

大型网站技术架构(四)--网站的高性能架构

网站性能是客观的指标,可以具体体现到响应时间.吞吐量.并发数.性能计数器等技术指标. 1.性能测试指标1.1 响应时间 指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间.如下列出了系统常用的操作响应时间表. 操作 响应时间 打开一个网站 几秒 数据库查询一条记录(有索引) 十几毫秒 机械磁盘一次寻址定位 4毫秒 从机械磁盘顺序读取1M数据 2毫秒 从SSD磁盘顺序读取1M数据 0.3毫秒 从远程分布式换成Redis读取一个数据 0.5毫秒 从内存读取1M数据 十几微妙 J

大型网站技术架构之秒杀系统架构设计

秒杀活动的技术挑战 1. 对现有网站业务造成冲击 秒杀活动只是网站营销的一个附加活动,这个活动具有时间短,并发访问量大的特点,如果和网站原有应用部署在一起,必须会对现有业务造成冲击,稍有不慎可能导致整个网站瘫痪. 2. 高并发下的应用.数据库负载 用户在秒杀开始前,通过不停刷新浏览器页面以保证不会错过秒杀,这些请求如果按照一般的网站应用架构,访问应用服务器.连接数据库,会对应用服务器和数据库服务器造成极大的负载压力. 3. 突然增加的网络及服务器带宽 假设商品页面大小200K(主要是商品图片大小