京东商城(www.360buy.com)一个拥有2500万注册会员,网站日均PV超过5000万,日订单处理量超过30万,年销售额突破102亿元的B2C巨头,在面临大规模访问压力的情况下,是一个基于什么技术构架的B2C系统在支持着它的运营呢?
说起京东商城必须先了解一下他的创始人 - “刘强东”,刘强东毕业于中国人民大学,理科超强的他却稀里糊涂地报了社会学专业,感觉专业不对口的他利用课余时间自学编程技术,还因此做了不少兼职,也赚了不少钱。“比如一个节目拿到电视台去编排成本非常高,而拿到我这里价钱只是电视台的十分之一,所以我的生意非常好”。很自然的早期京东商城的编程语言也选用了刘强东最为熟悉的.NET技术进行开发,直到现在京东商城的前端部分一直还是延用的.NET技术构架。
京东商城经过多年的发展,网站访问量急剧增加,京东商城早期的技术构架已经不能应对大规模的并发访问量。在多次网站促销活动中,由于网站流量暴涨,造成京东商城服务器瘫痪。随后京东商城进行了技术构架调整,将系统后台使用JAVA技术进行重构,基于历史原因前端技术依然使用.NET技术开发并且进行了大规模的性能优化,暂时性的缓解了系统访问压力。
但时间没过多久,在2011年11月1日京东商城的图书促销活动中,由于促销活动仅限时1个小时,消费者疯狂抢购导致服务器又一次不堪重负的瘫痪了。为平息消费者怨言,刘强东在微博上表示:“重搞活动,增加3倍服务器,活动时间不能低于3小时。”即使京东商城增加了三倍服务器,技术问题依旧没有解决。尽管刘强东的危机公关做得很到位,但是京东商城的系统却不买刘强东的单。在几天后京东商城为化解1日促销活动中系统瘫痪半小时的尴尬而增加的促销时段中,网友反映京东商城的首页依旧打不开,首页商品名称甚至全部变成乱码。这种情况直到京东商城的图书大促活动结束才得到好转。
京东商城进行重磅促销却遭遇网络瘫痪,业内人士表示,这凸显了我国电商高速发展中多个环节均存在问题。京东商城大手笔在抢购市场上烧钱,但其物流和后台系统技术上却没有跟上脚步。业内人士表示一般大型互联网公司都有备份系统,只要出现页面瘫痪的情况,会在短时间内切换到备份系统。京东商城在前后两天的促销活动中,都出现了下单不成功等问题,一定程度上暴露了京东商城技术上或管理上的问题。
虽然京东商城现有的技术构架与淘宝一样采用的是前端后端技术分离模式(即前端采用.NET/PHP、后端采用JAVA),但这种构架模式只是京东商城的一种补救措施,还不能完全解决现在的技术难题。但根据最新消息,京东商城已经投入了大量资金邀请国外的咨询公司做技术策略顾问,并开始大规模招聘JAVA研发人员,这一点从京东商城的“人才招聘”页面就可以看出。预计在未来不久京东商城将全面切换至JAVA架构了。但在如此大访问量的情况下,现阶段更换系统并不是一件简单的事情,可能需要耗费大量的时间才能完成。
分享到:
相关推荐
总结起来,"Java基本构架java学习"涵盖了从基础语法到高级特性的全面学习,包括JVM工作原理、面向对象编程、异常处理、集合框架、I/O流、多线程和标准库的使用。深入理解和掌握这些知识点,将为你的Java编程生涯打下...
Java软件架构设计模式是软件开发领域中的重要主题,它涉及到如何高效、可扩展且易于维护地构建大型Java应用程序。设计模式是一种在特定上下文中解决常见问题的最佳实践模板,它们是经验丰富的开发者们智慧的结晶,已...
关于java学习的免费网站,而且讲解很有高度,很清晰,java学习路线。java轻松学,从无知到精通 http://how2j.cn?p=50471
**JAVA MVC架构详解** 在软件开发领域,Java MVC(Model-View-Controller)架构是一种广泛应用于Web应用的设计模式。它将应用程序的业务逻辑、用户界面和数据管理分离开来,提高了代码的可维护性和可扩展性。以下是...
Java运行视频音频构架包是一种用于在Java平台上处理多媒体数据,特别是视频和音频播放的解决方案。这个包包含了一个名为"jmf-2_1_1e-windows-i586.exe"的可执行文件,它是Java Media Framework (JMF) 的一个版本,专...
Java软件构架设计模式是软件开发领域中的一个重要主题,它涉及到如何有效地组织代码,提高代码的可重用性、可维护性和可扩展性。对于Java研发人员来说,掌握设计模式是提升自身技能的关键步骤,有助于解决复杂编程...
因此,本文按照SUN公司制定的JAVA EE构架要求,遵循这种管理理念,对高职院校科研管理中的课题管理、科研成果管理和科研奖励管理等日常工作设计了一套全面的解决方案。 在设计科研管理系统时,需要考虑高职学院的...
本篇将详细介绍Java的基础构架和概念。 首先,Java开发环境通常包括Java Development Kit (JDK),Java Runtime Environment (JRE) 和Java Virtual Machine (JVM)。JDK是Java开发的核心,包含了编译器、调试工具和...
### JAVA软件架构设计模式 #### 知识点一:架构设计的概念与特点 - **概念**:架构设计是指在软件开发过程中对系统的基本结构、组件及其交互方式的设计。它不仅涉及技术选择,还包含了对软件如何组织以满足功能性...
- 责任链模式:避免将请求的发送者和接收者耦合在一起,让多个对象都有可能处理请求。 - 命令模式:将请求封装为一个对象,以便使用不同的请求、队列请求、或者支持可撤销的操作。 - 解释器模式:给出一个语言的...
在Java本体构架下开发分布式对象,首先要编写源代码,通常使用简单的文本编辑器如记事本或Edit,避免使用可能包含不可见字符的Word编辑器。源代码保存为.java文件后,通过Java编译器(javac.exe)将其编译为字节码...
Java架构与Struts应用是Java开发中的重要组成部分,它们在构建高效、可扩展的企业级应用程序中发挥着关键作用。下面将详细阐述这两个知识点,并结合学习资料进行深入解析。 首先,Java架构是Java软件开发的整体框架...
### 基于Java平台的完整WebGIS架构 #### 一、引言 地理信息系统(Geographic Information System, GIS)是一种用于获取、存储、检索、分析及显示空间定位数据的计算机化数据库管理系统。GIS集成了现代图形、图像、...
【Java 构架宝典概览】 Java 构架宝典是一份旨在提升开发者架构知识和技术框架搭建能力的文档,其核心目标是以理论为基础,为实际的开发工作提供指导和建设性建议。文档中涵盖了诸如Spring框架、动态代理、...
这个架构将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以实现职责分离,提高代码的可维护性和可扩展性。 1. **模型(Model)**: 模型是应用程序的核心部分,负责处理业务...
java【框架】[Hibernate]构架知识点详细解析
本文将探索基于Java三层构架的管理信息系统中DAO层的构建,掌握DAO层的设计和实现,提高系统的可维护性和可扩展性。 一、DAO层的定义和作用 DAO(Data Access Object)是Java中的一种设计模式,用于对数据库的访问...