架构师训练营第四周作业

用户头像
四夕晖
关注
发布于: 2020 年 10 月 14 日

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述

集群:使用分布式虽然已经将分层和分割后的模块独立部署,但是对于用户访问集中的模块, 比如网站的首页,还需要将独立部署的服务器集群化,即多台服务器部署相同应用构成 一个集群,通过负载均衡设备共同对外提供服务。

缓存:将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第 一手段,现代 CPU 越来越快的一个重要因素就是使用了更多的缓存,在复杂的软件设计 中,缓存几乎无处不在。大型网站架构设计在很多方面都使用了缓存设计。例如 CDN、反向代理、本地缓存、远程分布式缓存等

异步:将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不是直接调用的方法进行协作,主要是为了提高系统可用性、加快网站相应速度、消峰

冗余:互联网应用需要7×24小时连续运行,但是服务器总有可能会出现故障,特别是服务器规 模比较大的时候,服务器宕机是必然事件。要想保证在服务器宕机的情况下网站依然可 以继续服务,数据不会丢失,就需要一定程度的服务器冗余运行,数据冗余备份

安全:互联网的开放特性使得其从诞生起就面对巨大的安全挑战,网站在安全架构方面也积累了许多模式:通过密码和手机校验码进行身份认证;登录、交易等操作需要对网络通讯进行加密,网站服务器上存储的敏感数据如用户信息等也进行加密处理;为了防止机器 人程序滥用网络资源供给网站,网站使用验证码进行识别;对于常见的用于攻击网站的 XSS 攻击,SQL 注入,进行编码转换等相应处理;对于垃圾信息、敏感信息进行过滤; 对转账交易等重要操作根据交易模式和交易信息进行风险控制

分层:分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分, 每个部分负责一部分相对比较单一的职责,然后通过上层对下层依赖和调用组成一个完 整的系统。

分割:如果说分层是将软件在横向方面进行切分,那么分割就是在纵向方面对软件进行切分。系统越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护;另一方面, 便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。

分布式:对于大型网站,分层和分割的一个主要目的是为了切分后的模块便于分布式部署,即将不同模块部署在不同的服务器上,通过远程调用协同工作。分布式意味着解决同样的问 题可以使用更多的计算机,计算机越多,CPU、内存、存储资源也就越多,能够处理的并发访问和数据量就越大:分布式应用和服务、分布式静态资源、分布式数据和存储、分布式计算。



用户头像

四夕晖

关注

还未添加个人签名 2018.01.16 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第四周作业