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

1. 初始阶段架构

QQ1

2. 应用服务与数据服务分离

QQ2

3. 使用缓存

QQ3

  1. 服务集群

QQ4

5. 数据库读写分离

QQ5

6. 反响代理和CDN

QQ6

7. 分布式

QQ7

8. 业务拆、 搜索引擎、nosql

QQ9

 

 

是业务成就了技术,是事业成就了人,而不是相反。

 

网站架构设计无趣:

  1. 一味追求大公司的解决方案;
  2. 为了技术而技术;
  3. 企图利用技术解决所有问题。
    大型网站架构模式:

  4. 分层(太通用,算法、设计和架构无一例外,比如:control、model、view、service);

  5. 分割(还是分,偏业务);
  6. 分布式(分布式应用、分布式静态资源、分布式数据和存储、分布式计算);
  7. 集群(增加并发还能提高可用性);
  8. 缓存;
  9. 异步(不同系统模块间异步调用,优点:提高可用性和速度,消除并发高峰期;缺点:无法实时获取结果状态)
  10. 冗余(防止突发情况);
  11. 自动化(自动化代码管理,自动化测试,自动化安全测试,自动化部署 还有:自动化监控、自动化报警、自动化恢复,自动化分配资源)
  12. 安全(相对擅长不列了)
    关注要素:

  13. 性能;

  14. 可用性;
  15. 伸缩性;
  16. 扩展性;
  17. 安全性。
    性能优化分类:

  18. 前端优化(合并css,img和js从而减少http请求,使用浏览器缓存:技巧是改变文件名刷新,启用压缩,先css后js,减少cookie);

  19. 服务器性能优化(分布式缓存 memcached、异步、集群和代码优化[多线程、数据结构、垃圾回收]);
  20. 数据库优化(固态硬盘替换普通硬盘、B+和LSM树、hdfs替代raid)
     

 

在什么情况下使用多线程:

1 2