大型系统架构的核心要素-理论
1、性能
优化的方式有如下:
1)浏览器端: 通过浏览器缓存、页面压缩、合理布局页面和减少cookie传输
2)应用服务器端:使用带我去本地缓存和分布式缓存,通过缓存在内存的热点
数据处理用户请求,减轻数据库负载压力
3)代码层面: 用多线程,改善内存管理等手段
4)数据库服务器端:用索引、缓存和sql优化
2、可用性
衡量的标准是假设系统中任何一台伙多台服务器宕机时,已经出现各种不可预期的问题
时,系统整体是否依然可用。
高可用的主要手段是冗余,应用部署在多台服务器上同时提供访问,数据存储在多台服
务器上相互备份,任何一台机器宕机不会影响整体可用,也不会导致数据丢失
3、伸缩性
伸缩性是通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断
增长的数据存储需求。
对应应用服务器集群,只要服务器上不保存数据,所有的服务器都是对等的,通过使用合适
的负载均衡就可以向集群中不断服务器。
对于缓存服务器而言,加入新的服务器可能回导致缓存路由失效,从而导致大部分的缓存数据
都无法访问,需要改进缓存路由算法来保证缓存数据的可访问性
4、扩展性
衡量网站架构扩展性的好坏的主要标准就是在网站增加新的业务产品时,是否可以实现现有
产品透明无影响,不需要改动或很少改动既有业务功能就可以上线新功能。不同产品之间是否很少耦合,一个产品改动对其他产品无影响。
网站可扩展架构的主要手段是事件驱动架构和分布式服务
5、安全
衡量网站安全架构的标准就是针对现存和潜在的各种攻击和窃密手段,是否有可靠的应对策略