系统架构师 week04 Homework - 互联网架构技术手段和方案
典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?
大型互联网应用系统面临以下挑战:
高并发,大流量
高可用
海量数据
用户分布广泛,网络情况复杂
安全环境恶劣
需求快速变更,发布频繁
互联网应用系统为满足高可用、高并发、大流量、海量数据的要求,都是分布式部署。
要满足分布式部署,首先是要对系统进行分层和分割,将系统分成若干层和若干模块,将不同模块部署在不同的服务器上,模块之间远程调用进行协同。
对于热点模块采用服务器集群,通过负责均衡设备共同对外提供服务。
通常互联网架构分为 前端架构、网关已应用层架构、服务层架构、存储层架构、后台架构,数据中心机房架构、安全架构、数据采集与监控等
1 前端层
前端模块直接面对用户端,如 浏览器、App微信等。使用的技术及手段:
App及web开发技术:安卓、IOS手机系统技术、web前端javascript开发技术等等解决用户端应用展现与交互满足用户直观的使用需求。
浏览器及Http优化技术:浏览器缓存、各浏览器适配等等
CDN服务:实现内容分发,就近提供访问数据,以提高访问速度;
动静分离:对动态数据和静态数据进行分离,提高系统性能
以及使用图片服务、反向代理、DNS等。
2 网关及应用层
对业务进行拆分,连接服务层与前端层。集群部署、进行负载均衡,提供系统访问性能。
3 服务层
拆分业务,进行分布式部署各个业务模块,通过分布式消息队列共享数据工作,提高系统可用性、加快网站响应速度、消除并发访问高峰。对变化频率低,访问频率高的热点数据进行分布式缓存,提高访问速度,减少网络流量,减轻数据库压力。
4 存储层
主要应对大数据量、24小时不停机、宕机不影响业务,保障数据完整及备灾,对数据进行冗余。采用分布式文件系统、分布式关系数据库、NoSQL等手段。关系数据库进行分库、分表等。
5 后台
主要进行数据分析、用户行为分析、搜索、推荐、挖掘等。主要手段是搭建大数据平台进行用户画像。针对搜索和推荐使用搜索引擎和推荐引擎
6 运维和安全
采集服务运行日志,展示服务运行各项指标,监控系统数据对异常进行报警。
防护恶意攻击,对数据进行加密和解密。
评论