3 大型网站核心架构要素
系统的各个重要组成部分及其关系构成了系统的架构。一般来说,除了当前的系统功能需求外,软件架构还需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。
3.1 性能
CDN、服务器本地缓存、分布式缓存、异步操作、服务集群、多线程、索引、缓存、SQL优化......
3.2 可用性(冗余)
3.3 伸缩性(NoSQL)
3.4 扩展性
网站可伸缩架构的主要手段是事件驱动架构和分布式服务
事件驱动架构:利用消息队列实现。(生产者-消费者模式)
分布式服务是将业务和可复用服务分离开来,通过分布式服务框架调用。