作业一:
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
技术手段1:分层
分层是指将应用系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过调用上层对下层的依赖和调用组成一个完整的系统。
技术手段2:分割
分割是从纵向方面对软件进行切分。将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护;另一方面,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力
技术手段3:分布式
分布式意味着解决同样的问题可以使用更多的计算机,计算机越多,CPU、内存、存储资源也就越多,能够处理的并发访问和数据量就越大
技术手段4:集群
集群是和分布式手段一起存在的手段,集群就是将独立部署的分布式服务器集群化,通过负载均衡设备共同对外提供服务
技术手段5:缓存
缓存就是将数据存放在距离计算最近的位置以加快处理速度。常见的缓存有:CDN、反向代理、本地缓存、远程缓存
技术手段6:异步
异步就是将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不是直接调用的方式进行写作,可以提高系统可用性、加快网站响应速度、消除并发访问高峰
技术手段7:冗余
冗余是为了保证互联网应用7*24小时连续运行情况下,单个服务器或单个机房出现故障时,服务应用仍然可提供服务。冗余的常用手段是多机房部署
技术手段8:自动化
自动化主要是指服务运维自动化
技术手段9:安全相关