写点什么

架构师 0 期 | 互联网巨头不是一天练成的

用户头像
刁架构
关注
发布于: 2020 年 07 月 01 日
架构师 0 期 | 互联网巨头不是一天练成的

可以说所有的大型互联网系统都是一步一步慢慢演化来的。一般商业模式都是发现一处痛点或商机,先用最小的人力物力做一个MVP(最小化可行产品(Minimum Viable Product)),投入市场验证,如果可行的话,再投入更多的资源进行开发,如果不行则即刻止损。



系统演化

举例:阿里巴巴是在马云家客厅诞生的。Google是在斯坦福大学的实验室里诞生的。Facebook是扎克伯格在哈佛大学宿舍里开发的。而如今无疑他们都是巨无霸。



演化阶段0

最简单的程序

应用程序、文件、数据库

演化阶段1

应用数据分离

一个系统分成3个系统,系统性能可以提升3倍。



演化阶段2

使用缓存改善性能

将经常访问的数据放到内存中,可以显著提升访问数据IO操作慢的瓶颈问题。

演化阶段3

使用应用服务器集群

改善系统并发能力。部署多套应用服务,使用负载均衡软硬件去统一调度应用服务器。使业务平均分配到各个服务器上,当有部分服务器不能使用时,依旧可以提供正常业务能力。

演化阶段4

数据库读写分离

多数服务都是读的操作更多,使用主从数据库,让读的业务从从数据库中读取,主数据负责写入数据,写入的数据及时的同步给从数据库。

演化阶段5

使用反向代理和CDN

动、静态资源分离,把静态资源部署在运营商的机房,用户使用时,会从离他最近的机房请求到静态资源,一般静态资源比较大,少数的动态资源从服务器获取。这个服务一般购买对应的服务自动就具备此能力。

演化阶段6

使用分布式文件系统和分布式数据库系统

使用数据库和文件系统的集群,多个数据库统一提供服务。



演化阶段7

使用NoSQL和搜索引

增加搜索引擎服务器、NoSQL服务器

更换非关系型数据库,使用key-value方式查询数据,部署独立的搜索引擎来查询数据。

演化阶段8

业务拆分

将业务进行拆分A业务、B业务、通过消息队列服务器进行连接通信,解耦。假如A服务器挂了,B服务依旧可以对外正常提供服务。

演化阶段9

微服务和中台化

将更多业务进行拆分,全部独立部署。使用消息队列服务器进行通讯(MQ、dubbo等方式)

将核心模块统一管理,统一部署成中台。对外提供基础能力。

将来再做其他应用时,无需从头做起,可以快速孵化应用。



演化阶段10

大数据与智能化

随着业务不断积累大量数据,智能推荐系统、机器学习,模型不断训练等。

系统将变得越来越智能。

未来可期。



发布于: 2020 年 07 月 01 日阅读数: 70
用户头像

刁架构

关注

叫我刁架构 2017.10.25 加入

预备备网红首席架构师,移动端开发者,边缘设计支持者。

评论

发布
暂无评论
架构师 0 期 | 互联网巨头不是一天练成的