淘宝Java中间件发展历程与技术解析

4星 · 超过85%的资源 需积分: 10 22 下载量 67 浏览量 更新于2024-07-26 2 收藏 2.19MB PDF 举报
"淘宝Java中间件之路.pdf" 这篇文档讲述了淘宝在Java中间件的发展历程,由淘宝的技术专家曾宪杰(华黎)在SACC2011大会上分享。在2007年下半年以前,淘宝的架构中还没有专门的Java中间件,系统主要依赖于负载均衡、Web应用、缓存、分布式存储、搜索引擎、数据库、CDN等组件来支撑业务。随着业务的复杂性和规模的扩大,淘宝开始引入并发展Java中间件。 Java中间件的诞生是为了应对日益增长的业务需求和系统的解耦。其中,消息中间件是重要的组成部分,它基于Message-oriented Middleware (MOM)的概念,通过发送和接收消息在分布式系统之间实现通信。MOM的优势在于它能够提供松耦合和异步处理,使得业务系统在完成一项任务后,可以将后续处理任务通过消息传递给其他系统,而无需直接调用,降低了系统的耦合度。 在淘宝的具体实践中,消息中间件最初是由定时程序驱动,业务系统完成一个操作后,会将任务放入定时程序,由其驱动其他系统执行相应动作。然而,这种模式存在效率和可靠性的挑战。因此,淘宝对消息中间件提出了新的需求,包括轻量级设计以支持最终一致性、支持订阅者集群以及确保消息的可靠性。 为了实现最终一致性,淘宝的消息中间件采用了半消息机制。在消息发送时,先存储半消息,待业务操作完成后,再将消息标记为可发送,并更新数据库。如果业务操作失败,会删除消息,防止不一致的发生。同时,系统会定期检查未提交的消息,确保其正确处理。 此外,文档还提到了服务框架和分布式数据层的发展,但具体内容没有在摘要中详细展开。不过,可以推测这些中间件涵盖了服务治理、数据访问优化等方面,旨在提高系统的可扩展性和数据一致性。 淘宝Java中间件的发展体现了大型电商系统在面对高并发、大数据量挑战时,如何通过中间件技术来优化架构、提升性能和保证业务稳定性。这些经验对于其他大型互联网企业或面临类似问题的组织具有很高的参考价值。