写点什么

架构师训练营 Week4 作业

用户头像
小高
关注
发布于: 2020 年 07 月 01 日

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

以淘宝网为案例,介绍大型互联网系统采用哪些技术方案和手段:

淘宝初期架构非常简单,简单的LAMP架构,MySql读写分离

到后来随着业务量的增加,为了业务的数据安全和存储,引入了oracal

04年的时候,PHP已经完全不能满足业务的需求了,需要寻求新的解决方案,为此引入Java技术栈

可以由图中看出,随着业务量的增加,系统架构是变得越来越复杂的,例如引入了项目管理工具AntX,引入了搜索引擎等

06年左右的时候,对系统进行重构,改了大量的系统

这里最大的变化就是增加了缓存系统,为了提高系统的响应速度。

07年左右发现原来的单体架构已经完全无法满足需求了,由此引入了分布式架构。

08年后的淘宝架构更复杂,业务量需求也更大,由此可见,系统的架构演化是随着业务量的变化而变化的,都是为了提高系统的高可用和高吞吐量以及高性能。

因此08前淘宝就已经开始进行业务中心化,例如拆分系统,拆分数据库,组织结构支持(垂直化,产品化,服务化)。

业务中心化后,系统架构中,系统职责清晰、分工明确,可维护性良好,具有了可扩展性。但是,新的问题随之出现,系统的稳定性面临着严峻的挑战。

  • 应用拆分、增加变得不可控

  • 系统依赖关系越来越复杂

  • 业务上有了新的发展,秒杀变得流行。

因此,就出现了监控系统,时刻为系统的稳定性保驾护航。

  • 系统监控

  • 容量规则

  • 简化系统结构

  • 关键系统的优化,提升QPS

由以上例子可以得知,一个大型系统基本具有以下特征

  1. 分层:每个部分负责一部分相对比较单一的职责

  2. 分割:将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,有助于软件开发和维护,提高系统的并发处理能力和功能扩展能力。

  3. 分布式:计算机越多,CPU、内存、存储资源也就越多,能够处理并发访问和数据量就越大。

  4. 集群:提高系统的服务能力

  5. 缓存:加快系统的处理速度,从而提高性能

  6. 异步:提高系统可用性,消除并发访问高峰

  7. 冗余:提高系统的可用性

  8. 自动化:自动化运维,减轻运维压力

  9. 安全:维护系统的安全,保护数据的隐私。

完。

用户头像

小高

关注

代码,思考,架构,阅读,旅行。 2018.11.02 加入

一起来进步吧,持续学习的小白!

评论

发布
暂无评论
架构师训练营Week4作业