写点什么

架构师训练营第四周”系统架构“作业

用户头像
随秋
关注
发布于: 2020 年 12 月 20 日

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

A:根据自己的理解画了一个大型互联网应用的架构图如下:



A:通过 CDN 与反向代理直接缓存静态资源,可以拦截大部分网络流量

B:通过 Nginx 等工具将不同请求路由到不同应用集群,同时负责负载均衡

整个服务大体分三层:前台应用、中台服务、后台基础设施。各层直接可以通过 RPC、HTTP、消息总线消息队列等(L)相互调用、通信

C:前台应用拆分,各类服务独立部署,功能单一方便伸缩

D:应用内部利用缓存加速,可以使用本地缓存、也可以使用基础设施中的分布式缓存

E:中台服务,公共服务微服务化作为基础设施,供前台应用直接使用。各微服务独立部署,向上提供 RPC 接口。

F:后台基础设施

  • 随着数据规模增大,单一数据库不能满足存储需求,传统方法是分库分表,随着分布式数据库技术成熟,可以直接使用,降低开发成本

  • 对于一些特殊的数据,比如宽表、无事务需求等数据,可以直接使用 NoSql 数据库

  • 搜索引擎可以加快数据查找速度,可用于搜索功能

  • G 存储层面也保留了传统数据库,多种方案混合使用

H:大数据平台,业务数据通过数据收集组件,传往大数据(I)平台存储

J:大数据平台对基础数据进行统计、挖掘,产生(K)各类报表、个性化推荐等

M:所有的服务、系统、工具等的部署、监控,都需自动化运维


以上更多从水平伸缩角度谈系统架构,针对单个的核心应用,可以采用垂直伸缩方式,典型如核心数据库磁盘采用 SSD,核心服务采用更高性能服务器等。


用户头像

随秋

关注

还未添加个人签名 2018.04.27 加入

还未添加个人简介

评论

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