Week4 作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
大型互联网系统面临的问题主要有如下几点:
- 需要支持高并发,大流量请求
- 需要做到7x24小时不间断服务,达到高可用
- 需要管理海量数据
- 用户分布广,网络情况复杂
- 安全环境恶劣
- 需求变化快,发布频繁
为了应对上面这些问题,采用了如下一些技术手段:
- 分层:系统在横向纬度切分成多个层,上层对下层依赖调用
- 分割:系统在纵向纬度进行切分,分成不同的高内聚低耦合的模块单元
- 分布式:将分层和分割后的模块进行分布式部署,各个模块通过远程调用协同工作
- 集群:将被大量访问的模块通过集群和负载均衡来提供更高性能的服务
- 缓存:将数据存储在就近的地方,以提升速度,使用了CDN、反响代理、本地缓存、远程缓存等
- 异步:将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不是直接调用的方法进行协作
- 冗余:为保证系统7x24小时连续运行,服务器进行冗余运行,数据进行冗余备份
- 自动化:进行自动化运维,提高系统故障恢复速度
- 安全:使用密码认证,数据加密,资源保护,攻击防护,信息过滤,风险控制等
评论