《京东技术解密》读书笔记:坚持技术十年如一日

内容目录:

  1.京东技术升级路线

  2.京东创新的应用

  3.京东那些技术牛人

  一直在京东上面shopping,喜欢京东的物流,也有一些同学在京东研发体系上班了,早就听说有了这么一本书,却一直没有阅读。最近,从京东上购买了一本,花了几天的业余时间畅读一番。刘强东在书中的序言中写了一段话,很好地说明了这本书的背景:

“京东可以高速发展到今天的规模的原因,其中最核心的是坚持“倒三角”战略:建立出色的团队;打造财务、物流和技术三大核心系统;降低成本、提升效率;为用户带来最佳体验。在《京东技术解密》一书中,大家会看到技术驱动的力量,这也是京东第一次全面展示自己的技术体系。”

一、京东技术升级路线

  (1)2003年,从外部购买了一套ASP在线商城软件,并在此基础上逐步开发维护,形成了第一代网站“京东多媒体网”;

  但是,在订单量不断增长的情况下,网站经常出现缓慢、无响应的情况,系统升级刻不容缓。

  (2)2008年,老李(李大学)加入京东,带领几个研发人员在北京通州郊区的一栋别墅进行三个月的封闭开发,将ASP升级为.NET架构

  .NET版的京东上线后,支撑了京东商城3年,虽然很多技术按现在的标准已过时,但是与最早的一版相比已经有很大的改善。

  (3)2011年,图书促销抢购活动中,购物车和下单结算页面频繁出现页面缓慢甚至打开不、无响应情况,老刘(刘强东)发微博请研发部“喝咖啡”;

  这次促销活动让研发人员意识到不是单单增加服务器就能解决问题,升级网站的系统架构势在必行。

  (4)2012年5月,Java版交易系统上线,标志着.NET向Java架构的转移

  ① 开发语言由.NET换成了Java,原因有二:

    一是国内外非常多的大型主流网站使用Java技术,有很多经验和成熟开源框架可以借鉴;

    二是Windows和Visual Studio的成本过高;

  ② 所有系统按SOA架构设计,对外提供服务,杜绝跨系统直接读取数据库;

  ③ 存储上也做了升级:.NET时代的SQL Server换成了MySQL,缓存上由主要使用Memcached转为结合Redis共同使用;

  (5)时至今日,除了少数的桌面程序,京东的大部分系统已经完成了就从.NET向Java的转移。偶尔能在京东网站上看到几个扩展名为.aspx的页面,其实也都是经过URL重写的Java页面了。

二、京东创新的应用

  (1)京东电商开放云

  ① 京东宙斯:开放接口与合作伙伴进行系统与业务对接。

  ② 京东云鼎:电商应用云托管平台。

  ③ 京东云擎:为应用开发者提供便捷的应用开发、部署和托管服务。

  ④ 京东云峰:为应用开发者提供便捷的移动应用客户端的开发服务。

  ⑤ 京东云汇:为所有参与者提供的社区互动平台。

  (2)京东智能云

  针对智能硬件产品推出的云服务,致力于打造多方共赢的智能硬件生态链。

  (3)移动创新

  ① 虚拟试镜:与清华大学合作,结合增强现实技术和试戴活动运营。

  ② 虚拟试衣间:Z3D虚拟试衣系统,带你玩转京东试衣间。

  (4)大数据

  ① 实时数据采集

  "长江"项目:将异构数据源实时同步到实时数据仓库;

  "南水北调"项目:将数据同步到离线数据仓库;

  ② 流式数据采集

  "汉江"项目:基于Storm提供实时计算API;

  ③ 实时查询服务

  "三峡"项目:基于Spark和PrestoDB解决海量数据下的即时查询;

  ④ 实时数据挖掘

  "东海"项目:将数据挖掘实时化服务线上的推荐和搜索;

  (5)孵化

  ① 建立京东孵化器帮助企业内部员工一展才华;

  ② 设立"微创新奖"并加大专项资金激励创新活动;

三、京东那些牛人们

  京东牛人众多,以下只列举几个代表性的:

  (1)邓正平

  组建了京东移动团队、主导了京东智能化业务技术研发、现在为京东智能化物联网业务开疆拓土。既有一线的软件开发和系统架构设计经验,又有多年的团队管理以及业务成功开拓经验,让他有常人所不能及的战略眼光和高度,更有敢为人先、不断创新的开拓精神。

  (2)杨思勇

  首先带领团队向Java方向转移、奠定了京东的Java平台基础、编码规划、MVC框架,积极适应环境,拥抱变化,不断学习,保持乐观的精神去战斗。而且,重点是:研发的MM们都很喜欢这个怪蜀黍。

  (3)赵刚

  长期研究图形图像与智能技术,拥有多项技术专利与软件著作权,在京东期间开发了世界先进的Z3D虚拟试衣技术,较好地解决了长期困扰服装电商界的用户个性化试衣、低成本仿真、多层次服装搭配等难题。它特别喜欢钻研技术,16年来一直坚持在一线开发,典型的技术男。

  (4)李东

  主导开发京东物流核心系统-青龙系统,生活中爱家、爱NBA、爱写代码的好男人。他坚信:架构工作是一个不断重构自己思想和追求用户极致体验的过程。

  (5)刘海锋

  带领团队自主研发了分布式文件系统JFS(Jingdong FileSystem)与分布式缓存与高速键值存储服务JimDB,使得京东云技术产生了质的飞跃。他坚信拥抱变化,迎接挑战,相信技术的力量,是京东云搭建骨头的人。

四、京东技术学院资料

  京东技术学院依托于京东技术驱动的战略规划,开展了京东技术开放日等活动,我们这些屌丝程序员也可以浏览一下京东技术开发日的一些资料,扩展一下自己的眼界,了解一下大型互联网技术的发展。

  京东技术开放日至今已举办了多期,前面几期的主题涵盖了这本书中提到的多项技术,如高性能、高并发的交易系统稳定性保障、京东数据中心网络服务618考验等等,还提供了flv格式的视频供观看。

附:思维导图(点击放大)

作者:周旭龙

出处:http://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

时间: 01-09

《京东技术解密》读书笔记:坚持技术十年如一日的相关文章

《软件测试方法和技术》 读书笔记

<软件测试方法和技术> 读书笔记 2014-07-17 第一章 引论  1.3 什么是软件测试  1.4 软件测试与软件开发的关系第二章 软件测试基本概念  2.1 软件缺陷  2.3 软件测试的分类  2.4 测试阶段  2.5 软件测试的工作范畴第三章 软件测试方法  黑盒测试    边界值测试    等价测试      报表日期      三角形    基于决策表的测试      NextDate函数  白盒测试    语句覆盖    判定覆盖    条件覆盖    判定条件覆盖   

Struts2技术内幕 读书笔记一 框架的本质

本读书笔记系列,主要针对陆舟所著<<Struts2技术内幕 深入解析Strtus2架构设计与实现原理>>一书.笔记中所用的图片若无特殊说明,就都取自书中,特此声明. 什么是框架?我们为什么要用框架?框架能给我们带来什么? 这几个问题既简单又复杂.说它简单,是因为框架确实存在在软件设计中,说它复杂是因为我们现在所使用的框架不论是spring还是struts都是经过多年的发展,其内部已经十分庞杂了,因此想一句话两句话说清楚一个框架就不是那么简单了. OK,既然现有的框架都很复杂,那我们

Struts2技术内幕 读书笔记三 表示层的困惑

表示层能有什么疑惑?很简单,我们暂时忘记所有的框架,就写一个注册的servlet来看看. index.jsp <form id="form1" name="form1" method="post" action="loginServlet"> <table width="357" border="0" align="center"> <t

读书笔记:技术的本质-技术是什么,它是如何进化的 (布莱恩?阿瑟)

读书笔记算不算原创? - page 30 然而,作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其他什么东西融合得更为紧密,那就是自然.在最深的层次上,人的存在应该和自然,和我们最初的环境,以及最初使我们成为人的那些条件相融合. ========== - page 36 如今机器被用来生产机器了,同时它又变成了以后同类机器的父母. ========== - page 43 技术的建构不仅来自已有技术的组合,还来自于对自然现象的捕捉和征服.在 ========== - page 44 技

读书笔记:技术的本质-技术是什么,它是怎样进化的 (布莱恩?阿瑟)

读书笔记算不算原创? - page 30 然而.作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其它什么东西融合得更为紧密,那就是自然. 在最深的层次上.人的存在应该和自然,和我们最初的环境,以及最初使我们成为人的那些条件相融合. ========== - page 36 现在机器被用来生产机器了,同一时候它又变成了以后同类机器的父母. ========== - page 43 技术的建构不仅来自已有技术的组合.还来自于对自然现象的捕捉和征服.在 ========== - page 4

读书笔记(技术的本质)

一旦发问,不免使人紧张,特别是那种"我是谁,从哪里来,到哪里去"的问题,哲学所需要揭示的是本质的东西,而本质的东西往往都需要耗费大量的脑细胞.这种东西给人的感觉是少思考为好,否则容易产生孤独,不食人间烟火...等非主流症状.虽然说人类一思考,上帝就发笑,但人的天性中就有喜欢让上帝发笑的基因.为了完成阅读量,这不,借了本让上帝发笑的书--<技术的本质>来看,上帝发笑没有不知道,但自己还是很是思考了一下.技术天天见,无处不在,是我们工作和生活的一部分.因为他(它,她),我们的社

【读书笔记】技术每天一点点--2017.08月

本文地址:http://www.cnblogs.com/aiweixiao/p/7451352.html 本文提纲: 概述 每天进展 1.[遗留问题] 1.1)[问题] 问题列表 1.2)[todo] todo 2.[每天进展] 2.1)[2017.08.30] [运维]<京东应用运维智能化演进实战>(文件列表有): --部署,变更与发布维护 --JDOS系统,对代码镜像在开发,测试,预发布,线上环境之间流转 --交付:向开发交付充足的资源,向业务方交付稳定的系统(响尾蛇系统),向运维交互可维

大型网站技术架构读书笔记目录

这是一本什么样的书籍 <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型.架构设计.性能优化.Web安全.系统发布.运维监控等在内的大型网站开发全景视图.虽然没有相关的细节内容,不妨碍一览众山小大型网站的各个方面. ? 为什么会读此书 为以后有机会做大型网站做技术储备,深入了解大型网站建设的各个方面.以此形成笔记,方便以后复习和查阅,必经书读一遍是远

【提高C++性能的编程技术】读书笔记1 -- 导言

[纸上得来终觉浅] 最近开始看这本书,站在巨人的肩膀上,希望有更大的收获!! 一个程序的执行效率是取决于改程序翻译成汇编语言之后的执行的机器指令的条数.而每一个机器指令的执行的周期是一定的.C语言和C++都是高于汇编语言的高级语言,其中,C语言源代码与其相应的机器指不是完全同一的,但是大致是线性的,但是C++语言的源代码与编译代码的开销变化很大的.一条C++指令可能对应于3条汇编指令,而另外的一条可能对应300条.正因为这样,很多时候我们写出来的代码本身就是低效的,这不能全然怪罪于C++语言本身

Struts2技术内幕 读书笔记二 web开发的基本模式

最佳实践 在讨论基本模式之前,我们先说说一个词:最佳实践 任何程序的编写都得遵循一个特定的规范.这种规范有约定俗称的例如:包名全小写,类名每个单词第一个字母大写等等等等;另外还有一些需要我们严格遵守的:例如我们写自己的servlet的时候就得继承javax.servlet.http.HttpServlet接口. 在标准之上的是对不同标准的具体实现.例如同是servlet标准,tomcat有一套实现方式,Websphere又有不同的实现方式. 在程序员级别来说,面对复杂的业务流程,不同的程序员会有