本篇讲述了阿里巴巴的技术发展史,同时也是一部互联网技术架构的实践与发展史。
前言
为一个复杂的、高速发展的业务构建一个技术系统是一个巨大的挑战。阿里巴巴集团主要是以电子商务、支付为业务主体,这类系统都是复杂的商业系统。这个业务又承载于互联网之上,互联网又具有海量的访问请求与数据。这两者的结合,形成了阿里巴巴集团的业务系统的关键特点。
不同于搜索、社交之类的应用系统,电子商务、支付的业务特性决定了其必须有很高的稳定性与可靠性。用户在使用搜索引擎的时候,哪怕丢失了一半的搜索结果,用户可能都没有觉察。但在电子商应用中,每一笔订单、每一个状态、每一次支付都不能有丝毫差错。与此同时,像双十一这种业务高峰时刻,每秒钟就需要处理十万笔以上的订单。高可用、海量、复杂的业务逻辑交织在一起,是阿里巴巴业务系统的主要挑战。
阿里巴巴集团为了应对这些挑战,在技术上、组织架构上都进行了广泛的实践。并进一步将此种实践提升至中台这样的概念。
时代背景
阿里巴巴集团在很多技术方面进行了不断的探索,如数据库的水平扩展、复杂业务系统的结构化与服务化、大型系统的消息处理、关键业务系统的实时调控等。在数据库层面,阿里巴巴很早就启动了去IOE的项目,本质上是想解决大规模数据的线性可扩展问题,包括存储与访问两个方面。为了实现这个目标,发展了一系列的中间件来支撑这种新的架构。
随着业务的发展,阿里巴巴也面临着复杂业务系统的解耦问题。在互联网行业,需求的迭代速度非常快,通常每周都会有数十个功能更新或增加,并要及时发布。
如何保持业务相对隔离可以让工程师大规模并行工作,传统上有很多解决方案,如SOA、ESB 等,但如何在解耦的同时仍能满足互联网海量访问且具有高性能的要求,阿里巴巴集团对传统技术进行了革新,提出了一系列实用的技术方案。
系统规模进一步变大之后,需要解决更多、更复杂的问题,比如在全球进行分布式的