基于Java构建的淘宝基于Java构建的淘宝
2009.3
淘宝发展历程
1200
800
1000
600
800
200
400
xx部手机/天
0
2003 2004 2005 2006 2007 2008 2009
V1.0 V2.0 V2.1
V3.0
V2.2
V1.0 2003.5 – 2004.10
..2003年非典时期
马云住宅..马云住宅
..LAMP
..基于phpAuction
b / ti /li t/ i..member/auction/list/misc
V1.0问题
..连接池性能问题
不利于团队开发..不利于团队开发
..不利于长期持续发展
..无技术积累
V2 需求
..支撑高速业务发展
支撑团队并行开发..支撑团队并行开发
..支撑系统的可伸缩
V2.0 2004.5-2005.03
..三层结构
自主的MVC框架..自主的MVC框架
..自主的项目管理工具
..延伸Ant
..自主的搜索引擎..自主的搜索引擎
..php迁移至java
..mysql迁移至Oracle
V2.0 淘宝MVC框架
..基于规则
模块化(car)..模块化(car)
..pipelinepp
..页面布局
统的ll t l支持..统一的pull tool支持
..支持多模板引擎
V2.0 淘宝项目管理工具
..类似maven
脚本编程语言..脚本编程语言
..AutoConfigg
..依赖管理,支持冲突检测
V2.0 搜索引擎
..基于内存索引
支持复杂条件支持统计..支持复杂条件,支持统计
..非实时
..有数据量限制
V2.1 的需求
..降低成本
提高性能
..提高性能
V2.1 2005.03 – 2007.01
..weblogic迁移至jboss
抛弃ejb..抛弃ejb
..支持分库的数据访问框架
..session框架重构
基于BDB的缓存..基于BDB的缓存
..Taobao自己的CDN
V2.1 数据可伸缩
..水平
..用户..用户
..商品
..交易
..垂直..垂直
..评价
论坛..论坛
..其他
V2.1 session框架
..支持集中式、复制方式、cookie方式
对代码透明..对代码透明
V2.2 需求
..提高系统性能
降低存储成本..降低存储成本
..支撑海量数据的搜索
V2.2 2006.10 – 2007.12
..分布式文件系统
分布式缓存..分布式缓存
..前端页面缓存
..搜索引擎升级
V2.2 淘宝分布式文件系统
..类似GFS
支持数据紧缩..支持数据紧缩
..支持数据去重
V2.2 淘宝分布式缓存
..基于动态哈希算法
性能超越memcache..性能超越memcache
V2.2 搜索引擎升级
..水平垂直伸缩
V2 问题
..上百人一起维护一个代码近百万行的核心
工程
工程
..多个业务系统中的超过1/3的核心代码重复
..数据库连接达到上限
..
停电..停电
V3.0 需求
..支撑大型团队,丰富业务的并行开发
提高重用性..提高重用性
..透明的数据库伸缩
..可用性
开放
..开放
V3.0 2007.12 --
..数据和应用透明伸缩
淘宝消息系统..淘宝消息系统
..服务化
..产品化
实时搜索
服务/消息
..实时搜索
..可用性
..TOP(淘宝开放平台)
V3.0 数据透明伸缩
..垂直(按功能)
..交易用户商品店铺评价收费社区..交易用户商品店铺评价收费社区
..水平(按规则)
..商品交易
..透明的数据访问层..透明的数据访问层
V3.0 应用透明伸缩
..按功能划分
..用户商品交易店铺评价收费社区..用户商品交易店铺评价收费社区
..无状态
..应用无需关心集群
..集群可调控..集群可调控
..软件负载均衡
V3.0 消息系统
..Topic方式
分组订阅..分组订阅
..发送事务
..送达率:99.99%
1亿消息/天..1亿消息/天
V3.0 服务化
..服务导向框架
按功能形成服务中心
..按功能形成服务中心
..用户商品交易店铺类目
..服务中心200台服务器承载了70亿/天的请
求
求
V3.0 实时搜索
..同步更新索引
补救机制..补救机制
V3.0 可用性
..同城分流
异地容灾
..异地容灾
V4.0 ~~
分享到:
相关推荐
《淘宝技术架构——基于Java构建的淘宝》这篇文章深入剖析了淘宝这一知名电商平台背后的技术体系,主要探讨了如何利用Java技术栈构建大型、高并发、高可用的电子商务系统。以下是该文章可能涵盖的关键知识点: 1. *...
【标题】"基于Java构建的淘宝" 暗示了这个压缩包可能包含了一套教程或文档,详细讲解如何使用Java编程语言来开发类似于淘宝这样的电子商务网站。这是一份专门针对Java程序员和对电商系统开发感兴趣的人员的学习资料...
本文将深入探讨一个基于Java实现的、在淘宝中用于根据图片搜索图片的相似图像识别系统,该系统据称准确率高达95%。 首先,我们要了解这个系统的核心算法——直方图比较。直方图是描述图像色彩分布的一种统计方法,...
【标题】"基于Java EE淘宝网站购物系统"指的是一个使用Java EE(Enterprise Edition)技术栈开发的在线购物平台,类似于淘宝网。Java EE是Java平台的企业版本,它为开发多层分布式应用程序,尤其是Web应用程序提供了...
标题中的“Java + SSM基于HTML仿淘宝购物系统”指的是一个使用Java编程语言,并结合Spring、SpringMVC和MyBatis(简称SSM)框架开发的项目,该项目旨在模仿淘宝网的购物系统功能。这个系统可能包括用户注册、登录、...
《基于Java Spark的淘宝大数据分析可视化系统》 在当今数据驱动的时代,大数据分析与可视化已经成为企业决策的关键工具。本项目“源码地java spark淘宝大数据分析可视化系统”提供了一个全面的解决方案,它结合了...
【基于Java的仿淘宝App开发详解】 在信息技术飞速发展的今天,移动购物已经成为人们日常生活的一部分。作为全球最大的在线交易平台之一,淘宝App凭借其丰富的商品种类、便捷的购物体验深受用户喜爱。而通过Java语言...
【基于Java Web电商系统设计】的开题报告探讨了在互联网快速发展的背景下,如何利用Java Web技术构建一个类似淘宝的电子商务平台。课题旨在通过学习和研究,设计并实现一个包括前台用户界面和后台管理功能的购物网站...
以上是基于Java构建网上商城系统的基本要点,实际项目中还需要根据业务需求和团队技术栈进行定制化开发。文件名“2_estore_源”可能包含了该网上商城系统的源代码,深入研究这些源码可以帮助我们更好地理解和学习...
ECLIPSE作为开发工具,不仅提供了代码提示、自动格式化和错误检查等功能,还有丰富的插件支持,比如MyEclipse,它是专门针对JAVA EE开发的,对于构建Web应用,尤其是像淘宝卖家管理系统这样的B/S架构系统,非常适用...
【基于JAVA的销售管理信息系统开发】\n\nJava销售管理信息系统的开发旨在为企业销售部门提供一个高效、便捷的管理工具,以优化员工与客户的交互,提升业务效率。本项目采用Java语言,因其跨平台的特性,能够确保系统...
Java Web是基于Java技术的Web应用程序开发框架,它包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)等组件。在本项目中,Servlet用于处理HTTP请求,JSP用于展示动态生成的网页...
**基于Java的仿淘宝App源码详解** 在IT行业中,Java是一种广泛应用的开发语言,尤其在构建大型、复杂的Web应用程序时。"仿淘宝App"项目是利用Java技术栈来模仿淘宝网的功能,为学习者提供了一个实践平台,帮助他们...
综上所述,这个基于Java开发的类似淘宝基础购物商城APP涉及到的技术和概念广泛,涵盖了后端开发、数据库管理、前端渲染、安全机制以及性能优化等多个方面。开发者需要具备扎实的Java编程基础,熟悉Web开发框架和...
总结来说,"java模拟淘宝登录源码"是一个基于HTTPClient的项目,用于模拟用户在淘宝网的登录流程。通过分析HTML、构造和发送HTTP请求,以及管理Cookie,我们可以实现与真实浏览器类似的登录体验。然而,这种模拟登录...
【标题】"Java 仿淘宝购物系统项目源码"是一个基于Java Web技术开发的电子商务平台模拟项目,旨在提供类似淘宝网的在线购物体验。这个项目不仅涵盖了基础的浏览商品、添加到购物车的功能,还实现了下单及商品更新等...
《基于Java和MySQL的购物系统源代码解析》 在当今数字化时代,电商平台已经成为人们日常生活中不可或缺的一部分。本文将深入探讨一个基于Java编程语言和MySQL数据库的购物系统,它提供了诸如注册、登录、商品浏览、...
【描述】基于Java的购买衣服商城系统,采用Java技术栈构建,可以理解为一个小型的电子商务平台。系统的设计和开发涉及到了许多Java相关的技术和概念,如Spring Boot框架、MyBatis持久层框架、Thymeleaf模板引擎等。...