【总结】互联网架构模式
架构模式
问题及解决方案
每一个模式描述了一个在我们周围不断重复发生的问题以及该问题解决方案的核心。
可重复性
模式的关键在于模式的可重复性,问题与场景的可重复性带来解决方案的可重复使用。
互联网架构模式
描述那些为解决互联网系统高性能、高可用、易扩展、可伸缩、安全等目标,被许多互联网应用重复使用的解决方案,这些解决方案是互联网软件系统的重要组成部分。
分层
横向维度切分,每个部分负责一部分相对单一的职责,通过上层对下层依赖和调用组成一个完整的系统
分割
纵向维度切分,将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件开发与维护,另一方面便于不同模块的分布式部署,提供并发处理能力和功能扩展能力
分布式
按照分层分割切分后的模块便于分布式部署,不同模块部署在不同服务器上,通过远程调用协同工作。
分布式意味着解决同样的问题可以使用更多的计算机,计算机更多,CPU、内存、存储资源也就越多,能够处理的并发访问和数据量越大。
分布式应用与服务
分布式静态资源
分布式数据与存储
分布式计算
集群
模块独立部署后,对于用户访问集中的模块,需要将独立部署的服务器集群化,即多台服务器部署相同应用构成一个集群,通过负载均衡设备对外提供服务。
缓存
缓存就是将数据存放在距离计算最近的位置以加快处理速度
CDN
反向代理
本地缓存
远程缓存
异步
将一个业务分成多个阶段,每个阶段之间通过共享数据而不是直接调用的方式进行协作,以减低软件的耦合性。
提高系统可用性
加快网站响应速度
消除并发访问高峰
冗余
为保证服务器宕机的情况下网站依然可以继续服务,数据不会丢失,就需要一定程度的服务器冗余运行、数据冗余备份
自动化
在无人值守的情况下可以正常运行,自动化架构设计主要集中在运维方面。
安全
通过密码和手机校验码进行身份认证;
登录、交易等操作需要对网络通讯进行加密,服务器上存储的敏感数据和用户信息等也进行加密处理;
为了防止机器人程序滥用网络资源供给网站,网站使用验证码进行识别;
对于常见的用于攻击网站的XSS攻击,SQL注入,进行编码转换等相应处理;
对于垃圾信息、敏感信息进行过滤;
对于转账交易等重要操作根据交易模式和交易信息进行风险控制;
评论