• 大型网站技术架构文摘


    第一篇 概述

    1.大型网站架构演化

    1.1 大型网站软件系统的特点

    高并发,大流量,高可用,海量数据,用户分布广泛,网络情况复杂,安全环境恶劣,需求快速变更,发布频繁,渐进式发展

    1.2 大型网站架构演化发展历程

    php+mysql+linux 一台电脑----->

    应用服务器+文件服务器+数据库服务器----->

    应用服务器的本地缓存,分布式缓存----->

    应用服务器的集群(负载均衡调度服务器)----->

    数据库读写分离(主从数据库)----->

    CDN和反向代理----->

    分布式数据库+分布式文件系统(业务分库)----->

    nosql+搜索引擎(统一数据访问模块)----->

    业务拆分----->

    分布式服务

    2.大型网站架构模式

    分层,分割,分布式,(分布式应用和服务,分布式静态资源,分布式数据和存储,分布式计算),集群,缓存(CDN,反向代理,本地缓存,分布式缓存),异步(分布式消息队列),冗余,自动化,安全

    3.大型网站核心架构要素

    性能,可用性,伸缩性,扩展性,安全性

    第二篇 架构

    4.瞬时响应:网站的高性能架构

    4.1 性能测试指标

    响应时间,并发数,吞吐量,性能计数器

    4.2 性能测试方法

    性能测试,负载测试,压力测试,稳定性测试

    4.2 web前端性能优化

    a.浏览器访问优化

    1.减少http请求,合并css,合并javascript,合并图片

    2.使用浏览器缓存 设置http头中cache-control和expires的属性

    3.启用压缩 gzip压缩

    4.css放在页面最上面,javascript放在最下面

    5.减少cookie传输

    b.CDN加速

    c.反向代理

    4.3 应用服务器性能优化

    1.分布式缓存

    a.JBoss Cache为代表的需要更新同步

    b.Memcached为代表的不互相通信 (简单的通信协议,丰富的客户端程序,高性能的网络通信,高效的内存管理(lru算法,近期最小使用),互不通信的服务器集群架构

    2.异步操作 消息队列异步化调用

    3.使用集群

    4.代码优化

    a.多线程 b.资源复用 c.数据结构 d.垃圾回收

    4.4 存储性能优化

    机械硬盘 vs 固态硬盘

    B+树 vs LSM树

    RAID vs HDFS

    廉价磁盘冗余阵列

    hadoop分布式文件系统

    5.万无一失:网站的高可用架构

    1.session复制

    2.session绑定

    3.利用cookie记录session

    4.session服务器

    高可用的服务:1分级管理 2超时设置 3异步调用 4服务降级 5幂等性设计

    高可用的数据:

    高可用的网站的软件质量保证:网站发布流程:

    自动化测试:

    网站运行监控:用户行为日志收集,服务器性能监控

    6.永无止境:网站的伸缩性架构

    负载均衡的算法:轮询,加权轮询,随机,最少连接,源地址散列

    7.随需应变: 网站的可扩展架构

    事件驱动架构

    8.固若金汤:网站的安全架构

    消毒,httponly,

    sql注入:

    消毒,参数绑定

    表单token,验证码,

     

    文本匹配,分类算法,黑名单

    第三篇 案例

    9. 淘宝网的架构演化案例分析

    10.维基百科的高性能架构设计分析

    11.海量分布式存储系统Doris的高可用架构设计分析

    12.网站秒杀系统架构设计案例分析

    秒杀系统独立部署

    秒杀商品界面静态化

    租借秒杀系统网络带宽

    动态生成随机下单页面URL

    13.大型网站典型故障案例分析

    第四篇 架构师

    14.架构师领导艺术

    15.网站架构师职场攻略

    16.漫话网站架构师 

  • 相关阅读:
    AnyConnect使用说明(手机版)
    AnyConnect使用说明(电脑版Windows)
    Linux中MySQL中文乱码问题
    Redis的最常被问到知识点总结
    DML、DDL、DCL是什么?
    刨死你系列——手撕ArrayList
    刨死你系列——LinkedHashMap剖析(基于jdk1.8)
    mysql架构与存储引擎 (Myisam与Innodb)
    面试有关TCP常问的几个问题
    刨死你系列——HashMap剖析(基于jdk1.8)
  • 原文地址:https://www.cnblogs.com/smileberry/p/3738495.html
Copyright © 2020-2023  润新知