架构师训练营 - 第四周 - 作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
大型互联网应用系统面临的挑战和问题
高并发、大流量
需要面对高并发用户,大流量访问。
Google日均PV数35亿,日均IP访问数3亿
微信在线用户数10亿,天猫双十一活动一天交易额3000亿。
高可用
系统7x24习、时不间断服务。大型互联网站的宕机事件通常会成为新闻焦点
海量数据
需要存储、管理海量数据。
Facebook每周上传的照片数目接近10亿,百度收录的网页数目有数百亿,Google有近百万台服务器为 全球用户提供服务
用户广泛分布,网络环境复杂
许多大型互联网都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别。
在国内,有各个运营商网络互通难的问题。而中美光缆的数次故障,也让一些对国外用
户依赖较大的网站不得不考虑在海外建立数据中心。
安全环境恶劣
由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会遇到黑客
攻击情况。2011年国内多个重要网站泄露用户密码,让普通用户也直面一次互联网安全
问题。
需求变更快,发布频繁
互联网产品为快速适应市场,满足用户需求,其产品发布频率也是极高的都有新版本发布上线Office的产品版本以年为单位发布至于中小型网站的发布就更频繁了而一般大型网站的产品每周有时候一天会发布几十次。
渐进式开发
一开始就规划好全部的功能和非功能需求,几乎所有的大型互联网站都是从一个小网站开始,渐进的发展起来的。
架构模式:
前端架构:
APP和Web开发技术
浏览器及HTTP优化技术
CDN:内容分发网络,部署在运营商机房,存储热门数据资源
动静分离
图片服务
反向代理:过滤一部分访问请求,直接返回资源
DNS:域名服务
网关及应用层架构:
网关架构
负载均衡:改善系统的并发处理能力
动态页面静态化
业务拆分
服务层架构:
微服务框架
分布式消息队列:将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不是直接调用的方法进行异步协作
分布式缓存:将数据存放在距离计算最近的位置以加快处理速度
分布式一致性(锁)服务
存储层架构:
分布式文件
分布式关系数据库
NoSQL数据库
后台架构:
大数据平台
搜索引擎
推荐引擎
数据仓库
运维与安全:
数据采集与展示
数据监控与报警
攻击与防护
数据加密与解密
其他技术
评论