• 大型网站技术架构核心原理与案例分析学习笔记(实践篇)


    Wikipedia性能优化策略

    前端性能优化

    80%以上的用户请求可以通过前端服务返回

    CDN缓存的几条准则:

    1. 内容页面不包含动态信息,以免页面内容缓存很快失效或者包含过时信息
    2. 每个内容页面有唯一的REST风格的URL,以便CDN快速查找并避免重复缓存
    3. 在HTML响应头写入缓存控制信息,通过应用控制内容是否缓存及缓存有效期等

    LVS负载均衡地分发到反向代理服务器Squid集群(缓存热门词条),Squid中没有的再有LVS发送到Apache服务器

    服务端性能优化

    PHP服务器,除了硬件改善,还是用许多其他开源组件对应用层进行优化

    1. APC(一个PHP字节码缓存模块),加速代码执行减少资源消耗
    2. Imagemagick进行图片处理和转化
    3. Tex进行文本格式化,特别是将科学公式内容转换成图片格式
    4. 替换PHP的字符串查找函数strtr(),使用更优化的算法重构

    后端性能优化

    秒杀活动的技术挑战和应对策略

    1. 对现有网站业务造成冲击--->秒杀系统独立部署
    2. 高并发下的应用、数据库负载--->秒杀商品页面静态化
    3. 突然增加的网络及服务器带宽-->租借秒杀活动网络带宽
    4. 直接下单--->动态生成随机下单页面URL

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

    写日志引发故障

    原因:将log输出的level全局配置为Debug,导致很快消耗完磁盘空间

    高并发访问数据库引发故障

    原因;页面首页查询数据库,首页的数据应该从缓存或者搜索引擎服务器中获取,且首页最好是静态的

    高并发情况下锁引发的故障

    原因:远程调用的操作加了synchronize,执行时间长被占用

    缓存引发的故障

    原因:不重视缓存功能。当缓存已经不仅仅是改善性能,而是成为网站架构不可或缺的一部分时,对缓存的管理就需要提高到和其他服务器一样的级别

    应用启动不同步引发的故障

    原因:应用发布后,服务器立即崩溃,原因是Apache将用户请求转发给Jboss,但是Jboss启动慢,Apache启动后开始接收用户请求,大量堵塞在Jboss,导致Jboss崩溃

    大文件读写独占磁盘引发的故障

    经验:存储的使用需要根据不同文件类型和用途进行管理,图片都是小文件,应该使用专门的存储服务器,不能和大文件共用存储。批处理的大文件可以使用其他类型的分布式文件系统

    滥用生产环境引发的故障

    经验:访问线上生产环境要规范,不小心就会导致大事故

    不规范的流程引发的故障

    经验:代码提交要小心,规范

    不好的编程习惯引发的故障

    经验:null值判断

    架构师领导艺术

    1. 关注人而不是产品
    2. 发掘人的优秀
    3. 共享美好蓝图
    4. 共同参与架构
    5. 学会妥协
    6. 成就他人

    网站架构师职场攻略

    1. 发现问题,寻找突破
    2. 提出问题,寻求支持
    3. 解决问题,达成绩效
  • 相关阅读:
    【Java课堂】接口详解
    C语言数据类型转换
    第 6 章: Spring 中的 JDBC
    米家智汀智能家居的一些知识理论详解
    [探究] program break (chatgpt 协助)
    vue3知识点:provide 与 inject
    (附源码)springboot超市仓库管理系统 毕业设计164555
    API接口:概述、设计、应用与未来趋势
    LeetCode笔记:Biweekly Contest 81
    迅为i.MX8MM开发板Coatrx-M4内核开发给IAR安装8MM补丁
  • 原文地址:https://blog.csdn.net/jsq916/article/details/126273060