第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
总体来说,一个典型的大型互联网应用系统一般会有以下9种技术手段:
1、分层
2、分割
3、分布式
4、集群
5、缓存
6、异步
7、冗余
8、自动化
9、安全
那么在什么情况下才会用到以上技术手段呢?
1、分层
分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对单一的职责,然后通过上下层依赖和调用组成一个完整的系统。
2、分割
分割就是将系统在纵向维度上进行切分,把复杂的功能和多种多样的服务、数据处理分割开来,包装成高内聚低耦合的模块单元,一方面使得软件开发和维护更容易,另方面,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。
3、分布式
对于大型网站,分层和分割的一个主要目的是为了切分后的模块便于分布式部署,这样不同模块就可以部署在不同的服务器, 通过远程调用协同工作。分布式意味着解决同样的问题可以使用更多的计算机,计算机越多,资源就越多, 能够处理的并发访问和数据量就越大。
4、集群
分布式已经可以把分层和分割后的模块独立部署了,对于一些用户访问几钟的模块,我们可以通过多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。
5、缓存
缓存就是将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段。
6、异步
大型网站架构中, 系统解耦和的手段除了分层、分割、分布式等手段,还有一种重要手段就是异步,异步就是将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不同直接调用的方法进行协作。
7、冗余
互联网应用需要7X24小时连续运行,但是服务器总有可能会出现故障, 特别是服务器规模比较大的时候,服务器宕机是必然事件。要想保证在服务器宕机的情况下网站依然可以继续服务,数据不会丢失,就需要一定的服务器冗余运行,数据冗余备份。
8、自动化
在无人值守的情况下网站可以正常运行, 一切都可以自动化是网站的理想状态。比如发布过程自动化,自动化监控、自动化报警、自动化分配资源等等。
9、安全
互联网的开发特性使得其从诞生起就面对巨大的安全挑战,安全模式有很多种:密码和手机验证码身份认证;数据加密、通讯加密;编码转换防止XSS攻击、SQL注入攻击;垃圾信息、敏感信息过滤。
版权声明: 本文为 InfoQ 作者【洋】的原创文章。
原文链接:【http://xie.infoq.cn/article/1c02c24c0cd1bfc74e7f2ea70】。文章转载请联系作者。
评论