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

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张图片

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

  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,架构)