写点什么

架构师训练营第四周作业

用户头像
子豪sirius
关注
发布于: 2020 年 06 月 30 日

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

一个典型互联网应用系统,按照架构划分,可以分为前端架构、网关及应用架构、服务层架构、存储层架构、后台架构、安全架构、数据采集及监控架构等。每个架构都有相应的技术。

一、前端架构

前端架构技术包括 App 及 Web 开发技术、浏览器及 HTTP 优化技术、CDN、反向代理等。其中 App 及 Web 开发技术是实现业务功能的,不是这个题目讨论的重点。这里讨论 CDN 和反向代理

  • CDN

CDN 的全称是 Content Delivery Network,内容分发网络,主要用于缓存 Web 静态内容和流媒体,是用户能就近获取内容,减少网络访问拥挤。

  • 反向代理

反向代理服务器位于用户与目标服务器之间,用户直接访问反向代理服务器就可以获得目标服务器的资源,而不需要知道目标服务器的地址,反向代理服务器通常可用来作为 Web 加速,降低网络和服务器的负载,提高访问效率。

二、网关及应用架构

主要包括负载均衡、动态页面静态化、业务拆分等。

  • 负载均衡

随着业务的发展,如果采用传统的垂直扩展的方式来升级硬件和网络,会达到瓶颈,硬件增加带来的成本超过业务发展带来的收入。采用水平扩展的方式,通过增加服务器建立集群,不会像垂直扩展那样遇到单服务器的极限。利用负载均衡技术,对外提供服务,同时服务器也具有高可用。

  • 业务拆分

通过对原有业务的不同功能和服务进行分割,包装成高内聚低耦合的模块单元,分开部署,可以提高网站的并发处理能力。同时复用模块单元,方便扩展新的业务。

三、服务层架构

主要包括微服务框架、分布式消息队列、分布式缓存等。

  • 分布式消息队列

采用消息队列主要大型互联网应用解决耦合,异步消息,流量削锋等问题。通过消息队列,把多应用间的调用进行解耦,方便扩展;利用异步方式取代同步处理,提高处理吞吐率;利用消息队列暂时保存请求,减少瞬时流量过大对后台应用的负担。

  • 分布式缓存

利用缓存技术,缓存读场景的数据,减少后台数据库的查询次数,提高响应时间。

四、存储层架构

存储层架构技术主要包括分布式文件、NoSQL 数据库等。

  • 分布式文件

分布式文件系统相比传统的本地文件系统,资源保存在多个节点上,提供高吞吐量的数据访问,非常适合大规模数据集上的应用。常用的分布式文件系统是 Hadoop 的 HDFS

  • NoSQL 数据库

相比传统的关系型数据库,NoSQL 数据库在大数据的读写性能上有更大的优势,保存数据更加灵活,同时架构上也更容易扩展。常用的 NoSQl 数据库是 Redis 和 MongDB 等。

五、后台架构、安全及运维架构

后台架构技术包括大数据平台、搜索引擎、推荐引擎等。安全及运维架构的技术包括数据采集、数据和系统监控技术、安全防护、数据加解密技术等。


用户头像

子豪sirius

关注

还未添加个人签名 2018.05.03 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第四周作业