写点什么

极客大学架构师训练营第四周作业

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

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

从当前计算机的性能瓶颈来说,

瓶颈出现的顺序通常是:

1 硬盘写读

硬盘的 写和读,是最常见的瓶颈。解决方案:

(1)应用分离:让至少 3 台电脑,一起读写数据。

(2)使用缓存:客户端缓存 --> 将频繁使用的数据,存于高速缓存中

2 数据库的写读(可能还是与数据库依赖于硬盘有关)

解决方案:

(1)数据库 读写分离:2 人干 一 活

(2)业务分离,配合不同数据库:不同类型的业务数据采用合适的数据库类型

(3)分库、分表

(4)采用 Oracle 数据库(设备也匹配)——> 分布式

3 应用程序的处理能力不足

这可能是软件算法不够优化。也可能是科学计算过于吃算力。

解决方案:

(1)负载均衡服务器:DNS 负载均衡、

(2)CDN

(3)反向代理

(4)分布式

(5)业务拆分、功能拆分

(6)中台 + 微服务化:同类合并


学习小计

互联网架构演化阶段

第〇阶段:一个服务器搞定一切

第一阶段:应用数据分离

第二阶段:使用缓存改善系统性能

第三阶段:使用应用服务器集群改善系统的并发处理能力

第四阶段:数据库读写分离

第五阶段:使用反向代理和 CDN 加速网站响应

第六阶段:使用分布式文件系统和分布式数据库系统

第七阶段:使用 NoSQL 和搜索引擎

第八阶段:业务拆分

第九阶段:微服务及中台化

第十阶段:大数据及智能化

用到的手段:

分层 + 分割

分布式 + 集群

缓存

异步

冗余

以上都尽量自动实现


目标有几个:

高可用 —— 我认为是第一个需要考虑的!一台宕机,不影响正常服务

高性能 —— 废话,谁都希望这个

可伸缩 —— 功能不变的情况下,可以通过增减服务器数量来 匹配变化的负载

可扩展 —— 随需求演化,功能易扩展

安全 —— 攻击可抗、数据防盗

发布于: 2020 年 12 月 20 日阅读数: 19
用户头像

ihiming

关注

还未添加个人签名 2020.03.19 加入

还未添加个人简介

评论

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