架构师训练营第 4 周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
技术方案:垂直伸缩 - 增强单一服务器的计算能力和资源
解决问题:升级硬件和网络吞吐能力应对高并发问题。但在达到一定程度后,成本与收益不匹配,而且存在各种限制。
技术方案:水平伸缩 - 增加服务器提升计算能力和资源。分布式架构的关键技术点
分布式架构
分层
视图层,应用层,服务层,基础设施层,存储层
不同的层次部署在不同的服务器集群上,实现一个分布式的分层架构。
分割
分割是在纵向方面对软件进行切分
分割以后的功能模块也部署在不同的服务器上
集群
多台服务器部署成相同的应用,构成一个集群,通过负载均衡,共同对外提供服务。
缓存
CDN
反向代理
本地缓存
远程缓存
异步
将一个业务操作分成多个阶段,每个阶段通过异步消息队列通信。
冗余
应用部署在多台服务器上,一台服务器宕机了,其他可以提供服务。
数据备份在多台服务器上,一台硬盘损坏了,数据丢失了,其他还有备份。
解决问题:
高并发,大流量
高可用
海量数据
用户分布广泛,网络情况复杂
需求快速变更,发布频繁
渐进式发展
技术方案:安全
安全架构模式
密码,手机验证码
网络通讯加密
敏感数据加密
验证码
编码转换
过滤
风控
解决问题:
身份认证
敏感数据泄漏
机器人程序
XSS攻击,SQL注入
垃圾信息
转账交易
评论