阿里巴巴B2B服务框架:发展历程与解决策略

5星 · 超过95%的资源 需积分: 10 29 下载量 92 浏览量 更新于2024-07-30 收藏 2.41MB PDF 举报
阿里巴巴(B2B)的服务框架探索由钱霄于2011年10月23日分享,主要关注的是阿里巴巴内部面对的复杂挑战以及他们如何构建和优化服务框架以应对这些挑战。在那个时代,阿里巴巴的Web应用经历了显著的技术变迁,从1999年至2005年间,从Perl CGI、Java Servlet/JSP、JavaEE到Turbine MVC框架,再到轻量级容器和自定义的WebX框架。 面对的主要问题包括: 1. 应用规模扩大:随着业务的发展,巨型应用的开发和维护成本高昂,部署效率下降,数据库连接数剧增,导致性能和可靠性压力增大。 2. 高并发访问:随着访问量的逐年攀升,服务器和网络资源的需求也随之增加,这促使了对负载均衡和分布式调用技术的需求。 3. 技术演进:从进程内和节点内的通信到RPC(如RMI、Hessian、XML-RPC和WS),远程调用方式经历了多次迭代。原有的EJB解决方案虽然提供了容器级服务和分布式调用的便利,但不足以满足日益增长的治理需求,比如负载均衡、故障转移和服务质量控制。 阿里巴巴选择自研Dubbo框架,以解决这些问题。Dubbo旨在实现零入侵、高性能、高可靠性和模块化设计,通过核心功能的抽象来支持服务化。其目标不仅是RPC服务,还包括负载均衡、故障恢复和QoS等治理功能,这些都是当时开源解决方案普遍缺乏的。此外,考虑到集团内部众多应用和大规模开发团队的协作,统一规范的重要性被强调。 实践中,阿里巴巴首先从Dubbo 0.9版本开始,注重核心功能的抽象,以支持服务框架的高效运作。这个阶段的工作涉及了服务的独立化,如将共享服务抽离出来,形成可远程调用的接口,同时确保系统的高可用性和稳定性。通过不断的实践和优化,阿里巴巴逐步构建了一个能够有效承载每天十亿次调用、管理上千个服务,并部署在整个网站的高效服务框架体系。这个探索不仅反映了阿里巴巴的技术实力,也展示了在快速发展的互联网环境下,企业如何通过技术手段应对业务挑战并推动组织架构的演进。