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

淘宝架构演化案例

参考:《淘宝技术这十年》——技术升级路线

Wikipedia网站架构

架构主要组成部分:GeoDNS、LVS、Squid、lighttpd、PHP、memcached、Lucene、mysql.
性能优化策略:
1. 前端性能优化 DNS CDN 反响代理 静态资源服务
2. 服务器端性能优化:APC代码缓存模块 Text文本格式化 重写strstr函数
3. 后端性能优化:缓存、memcached;mysql大内存,降低食物一致性、宕机主从切换。

Doris架构分析

doris是一个kv存储系统
高可用的服务和高可用的数据。
高可用架构:分为应用程序服务器、数据存储服务器和管理中心服务器。
临时故障时:切换读到正常服务器,把到故障服务器的数据写到临时服务器,待故障恢复后,临时服务器写回;
长时间临时故障则切换到永久故障,清除临时服务器数据,将正常服务器数据更新到故障服务器。

秒杀系统架构设计

技术挑战:现有业务造成冲击;高并发下的应用和数据负载;突然增加的网络带宽;直接下单;
应对策略:秒杀服务器独立部署;商品页面静态化;增加或租借网络带宽;动态生成URL。
架构设计:JS刷新时间只有到达时间才可以点击;

大型系统典型故障

什么技术是真正有用的,什么技术只是花拳绣腿

1. 写日志引发故障:日志文件占用磁盘太多导致;
2. 高并发访问数据库故障:首页频繁访问数据库;
3. 高并发锁导致故障:synchronnized包含远程调用。
4. 缓存引起故障:memcached缓存服务器被关闭。
5. 应用启用不同步导致的故障:jboss启动前,apache已经启动并有大量连接等待;
6. 打文件读写独立磁盘引发的故障:上百M的图片导致IO等待;
7. 滥用生产环境引发的故障:工程师在进行压力测试……;
8. 不规范的流程引发的故障:测试代码没有更新就发布了;
9. 不良的编程习惯引发的故障:空指针问题。