阿里巴巴B2B服务框架演进:从RPC到Dubbo

需积分: 10 3 下载量 162 浏览量 更新于2024-07-19 1 收藏 2.41MB PDF 举报
"阿里巴巴(B2B)的服务框架探索(钱霄)主要讲述了阿里巴巴B2B部门在服务框架的发展历程,包括应用开发的技术变迁、面临的挑战、解决方案以及Dubbo框架的诞生和目标。" 在阿里巴巴B2B部门的历史发展中,服务框架经历了多次演变,以应对不断增长的业务需求和技术挑战。初期,他们从使用Perl CGI到转向Java技术,再到基于Servlet/JSP、JavaEE、TurbineMVC框架和轻量级容器的开发。随着业务的快速发展,应用规模急剧扩大,导致开发维护成本上升,部署效率降低,同时对性能和可靠性的要求也日益提高。 面对这些挑战,阿里巴巴采取了一系列策略来优化其架构。首先,他们通过拆分巨型应用为多个独立的Web系统来降低复杂性。接着,剥离共用服务,提供远程调用接口,实现服务之间的解耦。然后,识别关键服务并独立构建集群,以提供专门的服务。最后,通过减少专业负载均衡设备的使用,让应用自身支持分布式调用和调度,以实现更均衡的资源利用。 在远程调用方面,从最初的EJB,到RMI/Hessian、XML-RPC/WS,阿里巴巴最终发展出了自己的定制框架——Dubbo。Dubbo不仅提供了基础的RPC功能,还包含了负载均衡、故障转移、路由、服务质量保障等高级特性,以满足大规模分布式系统的治理需求。Dubbo的设计目标是零入侵、高性能、高可靠性和适应高并发环境,同时强调模块化设计,以支持服务化的底层架构。 在实践中,Dubbo0.9版本着重于核心功能的抽象,逐步完善了服务发现、注册、监控等功能。这个过程不仅反映了阿里巴巴在技术上的创新,也展示了他们在解决大型互联网公司所特有的问题时的深思熟虑和实战经验。 总结来说,阿里巴巴(B2B)的服务框架探索是一个不断迭代和优化的过程,它体现了技术演进与业务发展的紧密关联,以及在应对挑战时的创新精神和务实态度。通过Dubbo等自研框架,阿里巴巴成功地构建了一个能够支撑高并发、高可用服务的架构,为其他大型互联网企业提供了宝贵的参考和借鉴。