架构概述(三)核心架构要素:性能、可用性、伸缩性、扩展性和安全性

一、性能
标准:
响应时间、TPS、系统性能计数器等
方法:
(1)浏览器端:浏览器缓存、页面压缩、合理布局、建超Cookie传输等。
(2)动静分离:CDN、反向代理、缓存热点文件。
(3)应用端:本地缓存、分布式缓存。
(4)异步操作,发送至消息队列直接返回用户。
(5)应用服务器使用集群
(6)代码层面:使用多线程、改善内存管理等手段。
(7)数据库端:索引、缓存、SQL优化等,NoSQL数据库通过优化数据模型、存储结构、伸缩特性等手段提高性能。
二、可用性
标准:
7*24小时可用,4个9的指标,也就是可用性超过99.99%,
方法:
重要手段是冗余。部署在多台服务器上同时提供访问,数据存在多台服务器上互相备份,任何一台服务器宕机都不会影响整体。降级、熔断等。
三、伸缩性
网站通过集群的方式将多台服务器组成一个整体,共同提供服务。
所谓伸缩性是指通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长的数据存储需求。
方法:
应用服务器集群:不保存数据、所有服务器上对等的。通过负载加入。
缓存服务器集群:因为加入服务器可能会导致缓存路由失效。需要对缓存路由算法优化,保证缓存数据的可访问性。
关系型数据库:路由分区,数据分片。
四、扩展性
网站架构能够快速响应需求变化,是网站可扩展架构的主要目的。
标准:
在网站增加新的业务产品时,是否可以实现对现有产品透明无影响,不需要任何改动或很少改动既有业务功能就可以上线新产品。不同产品之间是否很少耦合,一个产品的改动对其他产品无影响,其他产品和功能不需要受牵连进行改动。
方法:
事件驱动架构在网站上通常用消息队列实现,将用户请求和其他业务时间够造成消息发布到消息队列,消息的处理者作为消费者从消息队列中获取消息进行处理。
分布式服务则是将业务和可服用服务分离开,通过分布式服务框架调用。
五、安全性
标准:
衡量网站安全架构的标准就是针对现存和潜在的各种攻击与窃密手段,是否有可靠的应对策略。

接下来会详细的介绍架构核心要素

猜你喜欢

转载自blog.csdn.net/weixin_47600659/article/details/121956424