写点什么

大型互联网系统技术架构模式

用户头像
Mars
关注
发布于: 2020 年 11 月 15 日

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

架构模式是对不断重复发生的问题形成的解决方案,以解决互联网系统高性能、高可用、易扩展、可伸缩、安全等为目标,形成可重复使用的方案。

 

一、分层

系统应用、架构的分层,将系统横向维度切分成几个部分,每一部分负责一部分相对单一的职责,通过上层对下层依赖和调用组成一个完整系统。

解决问题:

l  系统应用复杂、职责不清。

技术方案和手段:

l  系统职责分层:反向代理、CDN、DNS、图片服务、网关服务、应用服务、缓存服务、数据库服务、文件系统。

l  系统业务与数据分层:视图层、应用层、服务层、基础设施层。

 

二、分割

分割是在纵向方面对软件进行切分,将系统根据不同功能和服务进行分割,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护,另一方面便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。

解决问题:

l  系统庞大,模块耦合严重,不易开发和维护。

l  提高功能扩展能力。

l  分布式部署。

l  提高并发处理能力。

技术方案和手段:

l  按照业务垂直切分,拆分成不同业务系统。

l  数据层考虑分库、分表,单台数据库容量达到极限,可考虑分片。

l  数据采用读写分离、冷热数据分离方式,提高系统性能。

 

三、分布式

将不同模块部署到不同的服务器上,通过远程调用协同工作。分布式意味着解决同样问题可以使用更多计算机,计算机越多,CPU、内存、存储资源也越多,能够处理更大的并发访问和数据量。

解决问题:

l  提高并发访问和数据量

l  提高计算能力

技术方案和手段:

l  应用分布式部署,降低单一服务器负载。

l  分布式部署存储:分布式缓存、分布式数据库、分布式文件系统、分布式消息队列、分布式搜索引擎。

l  分布式计算。



四、集群

将独立的服务器集群化,即多台服务器部署相同的应用构成一个集群,通过负载均衡设备共同提供对外服务。

解决问题:

l  单台服务器能力有限,需扩容。

技术方案和手段:

l  将相同服务、应用多台服务器部署构成集群,通过负载均衡对外提供服务。

 

五、缓存

缓存时将数据存储在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段,现在CPU越来越快的一个重要因素是使用更多缓存。

解决问题:

l  应用响应速度慢。

技术方案和手段

l  将静态资源进行缓存,通过CDN、反向代理提供缓存服务。

l  通过分布式缓存(如:Redis、Memcache)或本地缓存,对静态资源或响应不高的动态数据缓存。

 

六、异步

计算机软件发展的一个重要目标和驱动力是降低软件耦合性。事物之间直接关系越少,那么彼此影响越小,越可以独立发展。异步将一个业务操作分成多个阶段,每个阶段通过共享数据而非直接调用协作。

解决问题:

l  应用可用性。

l  响应速度慢。

l  并发访问高峰。

技术方案和手段:

l  使用线程实现异步调用,提供响应速度。

l  消息队列,实现服务模块解耦。

 

七、冗余

保证服务器宕机的情况下网站依然能提供服务,数据不丢失,就需要一定程度服务器冗余运行,数据冗余备份。

解决问题:

l  防止服务器宕机,提高系统可用性。

技术方案和手段:

l  服务或应用集群部署。

l  数据库采用主从架构,冗余存储。

 

八、自动化

在无人值守情况下网站可以正常运行,一切都是自动化是网站的理想状态。

解决问题:

l  解决由人来维护系统带来的问题。

l  释放研发成本,提高效率。

技术方案和手段:

l  自动监控。

l  自动部署。

l  自动扩容。

l  自动降级、容错。

 

九、安全

互联网的开放特性使得其从诞生就面临巨大安全挑战。

解决问题:

l  数据窃取。

l  非法访问。

l  网络攻击。

l  大量垃圾信息。

l  无风控提醒。

技术方案和手段:

l  通过密码和手机验证码进行身份认证。

l  登录、交易等操作需要对网络通讯进行加密,网站服务器上存储的敏感数据如用户信息也需进行加密处理。

l  为了防止机器人程序滥用网络资源攻击网站,网站使用验证码进行识别。

l  对于常见的用于攻击网站的XSS攻击,SQL注入,进行编码转换等相应处理。

l  对于垃圾信息、敏感信息进行过滤。

l  对转账交易等重要操作根据交易模式和交易信息进行风险控制。

 

发布于: 2020 年 11 月 15 日阅读数: 35
用户头像

Mars

关注

还未添加个人签名 2018.06.12 加入

还未添加个人简介

评论

发布
暂无评论
大型互联网系统技术架构模式