本章,我就针对最近十几年电商平台的架构变化过程,来具体说明下,为了支持业务的快速发展,架构是如何一步步演进的。
从2003年淘宝上线开始,国内电商平台经历了高速的发展,在这个过程中,系统遇到了很多的挑战,比如说:
- 如何针对当前的业务现状,选择合适的架构呢?
- 如何在业务发展过程中,升级改造架构,并保证系统的平滑过渡呢?
接下来,我会结合自己的工作实践,和你一起探讨架构的演变历程,你可以从中了解到各种架构的优劣点和适用性,然后在实际工作中选择合适的架构。
这里,我总结了国内电商平台架构发展的大致过程,你可以结合图片参考下。

我们可以看到,从最初的单体架构到最新的中台架构,架构的可扩展性越来越强,这些都是系统不断适应业务复杂化的结果。下面,我就结合电商业务的变化,按照顺序和你介绍下各个架构。
单体架构
在单体架构中,只有一个应用,所有代码跑在一个进程,所有的表放在一个DB里。第一代电商平台都是单体架构,比如说淘宝,在最初的3年,它的系统就是一个巨大的单体应用。
单体应用内部一般采用分层结构,从上到下,一般分为表示层、业务层、数据访问层、DB层。表示层负责用户体验,业务层负责业务逻辑,数据访问层负责DB的数据存取。

我们可以看到,各个层的职责,正好对应业务处理的不同阶段,所以,单体架构在水平方向上,通过层次化的划分,降低了业务的深度复杂性(所谓的业务深度,指的是业务流程从开始到结束的长度)。
不过在垂直方向上,单体应用缺乏清晰的边界,上下层模块之间是多对多的网状依赖关系,比如业务层的某个模块(上图中BO1),可能调用数据访问层的所有模块(DAO1~3), 同样的道理,数据访问层的某个模块,也可能被业务层的所有业务模块给调用。
所以,单体架构中的模块只是在逻辑上独立,并没有在物理上严格分开,导致系统在落地时,模块的职责和边界划分比较随意,相应地,模块之间的依赖关系也比较模糊。所以,在单体架构中,模块结构是否合理,很大程度上依赖于开发者的个人水平。
在电商发展的初期,业务并不复杂,比如前台的首页、搜索页、详情页、结算页等,页面的功能都比较简单,可以放在一个应用里处理,这样,使用单体架构就可以快速落地系统。但当业务开始变得复杂时,每个页面都发展为一个独立的业务体系,比如说首页,它原先展示相对固定的内容,现在发展为一个动

本文详细介绍了电商平台从2003年至今的架构发展历程,从最初的单体架构到分布式架构,再到SOA服务化和微服务架构。随着业务复杂性的增加,架构逐渐演进以提高可扩展性和适应性。单体架构在业务初期简单易实施,但随着业务增长,分布式架构通过业务线拆分降低复杂度,SOA服务化解决系统集成问题,微服务架构则进一步细化服务,提升灵活性和独立性。文章强调了架构选择应根据业务特点,没有最好的架构,只有最合适的架构。
最低0.47元/天 解锁文章
:电商平台架构是如何演变的?&spm=1001.2101.3001.5002&articleId=123333564&d=1&t=3&u=de0e33fbb2e74c1ebfaa95795a25614c)
10万+

被折叠的 条评论
为什么被折叠?



