京东技术发展简史

news2024/9/27 21:23:16

文章目录

    • 前言
    • 京东发展历程
    • 京东商城技术的演进
    • 京东自研技术
      • 分布式数据库StarDB
      • 京东云
      • 移动端
      • Flutter在京东的实践
      • 大数据
      • 咚咚架构
      • ShardingSphere
    • 京东人物
    • 参考

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

在这里插入图片描述
京东将整个倒三角形分为四个横向,最底层是“团队”,倒数第二层是“物流系统、IT系统及财务系统”,倒数第三层是“成本和效率”,最上面一层是“产品、价格和服务”。这四部分对京东的意义分别是基础、供应链、关键KPI以及用户体验。

前言

京东的崛起,就是一部草根长成大树的历史,是中国电子商务从零摸索出一条自己道路的历史。京东的每一步,都走得很实在,用户需要什么,就去解决什么。

京东发展历程

  • 1998年----京东成立
  • 2001年----成为光磁产品首屈一指的代理商
  • 2004年----多媒体网正式开通
  • 2007年----正式更名为京东商城
  • 2010年----京东商城团购频道正式上线
  • 2012年----京东商城的火车票预订频道上线
  • 2012年2月,京东商城酒店预订业务上线
  • 2013年2月,京东完成新一轮7亿美元融资,投资方包括加拿大安大略教师退休基金和沙特亿万富翁阿尔瓦利德王子控股的王国控股集团以及公司- -些主要股东跟投
  • 2013年3月30日,京东,去商城化,全面改名为京东,随后更换LOGO。2013年3月30日,启用http://JD.COM域名,并将360buy的域名切换至JD.此外,“京东商城”这一官方名称将被缩减为“京东"。
  • 2013年4月23日,京东宣布注册用户正式突破1亿。
  • 2013年7月30日,京东CEO刘强东表示,京东已经成立了金融集团。
  • 2014年4月2日,京东集团正式进行分拆,其中包括两个子集团、- 一个子公司和一个事业部,涉及金融、拍拍及海外业务。具体的分拆方式是:京东集团下设京东商城集团、金融集团、子公司拍拍网和海外事业部,京东创始人刘强东会担任京东集团CEO。
  • 2014年5月22日上午9点,京东集团在美国纳斯达克挂牌上市(股票代码: JD)。美国也迎来了中国最大的赴美IPO。
  • 2014年11月,京东集团宣布大家电“京东帮服务店"在河北省赵县正式开业。
  • 2015年1月9日晚间,京东(Nasdaq:JD)、 易车网(NYSE:BITA) 和腾讯(SEHK: 00700)联合宣布,三方已达成最终协议,京东和腾讯以现金和独家资源的形式对易车网投资约13亿美元。
  • 2015年10月17日,腾讯集团与京东集团在京联合宜布推出全新战略合作项目-京腾计划。
  • 2015年10月10日,京东集团发布公告称,因C2C (个人对消费者)模式当前监管难度较大,无法杜绝假冒伪劣商品,决定到12月31日时停止提供其C2C模式(拍拍网)的电子商务平台服务,并在三个月的过渡期后将其彻底关闭。

京东商城技术的演进

京东商城网站经历了ASP、.NET、Java三个阶段。

  • 2003年,刘强东着手建设自己的网站,开发人员为曹鹏和另一个程序员,技术为ASP。因为ASP简单,上手快。把网站建起来,把商品摆起来,把订单下下来,这就是当时网站要解决的问题,至于用什么技术去实现,那是其次的。2003年,从外部购买了一套ASP在线商城软件,并在此基础上逐步开发维护,形成了第一代网站“京东多媒体网”。
  • 2004~2006年,技术人员一共5人左右。2005年,刘强东力排众议,关闭了所有线下12家门店,专攻电子商务。到2007年6月,日订单量已突破3000单,从那时起,我就知道有个网站叫京东,也开始在上面买些简单的数码产品。
  • 2007年8月,第一笔风投到位,刘强东可以大展拳脚了。
  • 2008年,开始从ASP转向.Net。2008年夏天,Donny带着一帮人,在通州一个高档小区的一座三层别墅里,十来个人,进行了三个多月的封闭开发,完成了向.Net的升级改造。日子虽苦,但一日三餐有专门做饭的阿姨好饭好菜伺候,倒也安逸自在。唯独晚上蚊虫袭来,搅得一帘幽梦。
  • 新版网站一直运行到2010年,订单量从日均几千单增长到十几万单,实现了飞跃式的发展。
  • 2010年,POP平台上线
  • 2012年5月,Java版交易系统上线,标志着.NET向Java架构的转移;主要原因是服务端程序已经朝Linux平台迁移的大势所趋,加上Windows和及开发工具Visual Studio的成本过高。同时,所有系统按SOA架构设计,对外提供服务,禁止系统直接读取数据库;数据库也从SQL Server换成了MySQL,缓存上由主要使用Memcached转为结合Redis共同使用。

在这里插入图片描述
2010年,开始搭建POP(Platform Open Plan)平台,转型Java。

京东自研技术

分布式数据库StarDB

2021京东云峰会上,京东云正式对外发布自主设计研发的金融级国产分布式数据库 StarDB,支持海量数据高并发在线事务处理,具备无感分布式、金融级高可用、高度兼容MySQL、弹性伸缩、安全合规、智能运维管控等重要特性。

京东云

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

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

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

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

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

移动端

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

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

Flutter在京东的实践

随着2018年底Google正式发布了Flutter预览版本,京东内部也越来越多的研发团队有用Flutter进行开发业务的诉求。京东正式启动研发并内部发布了JDFlutter引擎。在官方Flutter引擎之上,做了额外的优化和功能扩展:

  • Flutter工程改造: 对Flutter开发环境和dart代码管理进行优化,可以无缝集成到现有APP中并支持自动化dart编译打包,便于开发和调试。
    路由及多页面管理: 对原生页面和flutter页面实现了集中路由管理,可以双向传参、跳转并且进行了共享内存优化。
  • 扩展UI组件库: 官方支持的Material和Cupertino样式不能满足需求,京东在内部实现了自定义样式的组件库。
  • 原生能力扩展: 对官方原生能力进行了扩展,封装了包括网络、登陆、埋点等等基础能力的打通并提供了50+原生扩展API。
  • Android端动态化支持: 在Android端实现了动态化支持,可以线上热更新业务。iOS端暂不支持动态化。

目前京东商城、京东视频、京东到家、京东物流、7Fresh等APP都有业务采用JDFlutter进行开发。
在这里插入图片描述

大数据

① 实时数据采集

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

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

② 流式数据采集

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

③ 实时查询服务

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

④ 实时数据挖掘

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

咚咚架构

咚咚之于京东相当于旺旺之于淘宝,它们都是服务于买家和卖家的沟通。1.0 版本的技术架构实现是非常直接且简单粗暴的:
在这里插入图片描述
2012开始升级:
在这里插入图片描述

2013:
在这里插入图片描述
更细化的应用服务和架构分层方式:
在这里插入图片描述

ShardingSphere

Sharding-JDBC 的 ShardingSphere 主要由张亮个人主导,是一款基于 Java JDBC 接口实现的数据库分库分表管理框架。
2018 年 11 月,伴随着 ShardingSphere 正式进入 Apache 孵化,随后又于 17 个月之后正式毕业成为 Apache 顶级项目,在先后完成了社区组建,同时遵循 Apache 的规则将 ShardingSphere 所有权从公司与个人转向社区所有之后,ShardingSphere 基本完成了第二阶段的转变。

京东人物

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

(1)邓正平

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

(2)杨思勇

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

(3)赵刚

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

(4)李东

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

(5)刘海锋

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

参考

  • 京东架构专家分享京东架构之路

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/130907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

转义字符与strlen(),sizeof()在一起的注意事项

转义字符与strlen(),sizeof() 1. 转义字符每个人都知道是怎么一回事儿,转义字符顾名思义就是转变意思。 2. 首先转义字符肯定是一个字符,不是两个字符,更不用说是数字了,就是字符。 3. 当用strlen()统计字符串长度时或者用sizeo…

2022年度回顾

这一年是不平凡的一年,换了公司,新公司频繁出差,去了临沂,去了河南,去了唐山,去了福鼎,当中最印象深刻的还是河南,项目万分火急,在疫情隔绝的10月份毅然决然的前往河南安…

如何稍微优雅滴完成博文访问计数[SpringBoot+redis+分布式锁]

文章目录前言背景朴素做法Redis方案流量统计接口演示自定义注解计数实现防刷加锁完整代码数据一致性分析自定义注解返回值分析解决方案总结前言 okey,我们来收尾一下,这公历纪年2022年12月31日。这是本年度的最后一篇博文。那么这篇博文主要是用来实现博文的一个访…

【LeetCode】被围绕的区域 [M](深度优先遍历)

130. 被围绕的区域 - 力扣(LeetCode) 一、题目 给你一个 m x n 的矩阵 board ,由若干字符 X 和 O ,找到所有被 X 围绕的区域,并将这些区域里所有的 O 用 X 填充。 示例 1: 输入:board [[&quo…

浅谈Flink批模式Adaptive Hash Join

Flink批Hash Join递归超限问题 随着Flink流批一体能力的迅速发展以及Flink SQL易用性的提升,越来越多的厂商开始将Flink作为离线批处理引擎使用。在我们使用Flink进行大规模join操作时,也许会发生如下的异常,导致任务失败: Hash j…

Es进阶检索

本文用到的测试数据及所有代码链接: https://blog.csdn.net/m0_62436868/article/details/128505566?spm1001.2014.3001.5501 1、SearchAPI ES 支持两种基本方式检索 : 一个是通过使用 REST request URI 发送搜索参数(uri检索参数) 另…

基于华为eNSP的中小企业办公园区网络规划与设计

目录一、需求分析(一)项目背景(二)网络业务需求(三)网络应用需求二、网络结构设计三、网络拓扑图四、网络设备基本配置五、项目测试结语运用到的技术有: 1、虚拟局域网(VLAN&#xf…

人工智能--你需要知道的一切

人工智能--你需要知道的一切 人工智能是当今最受关注的技术之一。但它究竟是什么?你为什么要关心? 人工智能是当今最受关注的技术之一。但它到底是什么?你为什么要关心?在这里,我们将介绍你需要知道的关于人工智能的…

java开发的美妆化妆品电商商城系统

简介 Java基于ssm(可以转springboot项目哦)开发的美妆商城系统,主要是卖化妆品的系统,用户可以浏览商品,加入购物车,下单,在个人中心管理自己的订单。管理员可以管理自己的商品,发布商品,上下架…

2023年留学基金委(CSC)公派访问学者博士后项目选派办法及解读

2023年即将伊始。知识人网祝大家新年快乐,心想事成!同时提醒申请者关注国家留学基金委(CSC)的申报政策。目前CSC官网已经发布了2023年公派访问学者、博士后的项目通知,知识人网小编现将其选派工作流程及选派办法原文转…

C语言 自定义类型

结构体内存对齐 解释1 从内存开始位置存放 解释二 int对齐数是4 vs默认对齐数是8 取其较小值的倍数 那就是4的位置存放 char 对数1 vs是8默认 谁的较小值对数是1 那就是任意数 所以c2防砸8 如下图绿色部分 struct S2 {char c1;int i;double d;//8 };输出结果16 struct S4 …

当我们身边没有示波器就无法测量频率与占空比了?一招教你解决身边没有示波器时如何测量STM32定时器产生PWM的频率与占空比

当我们身边没有示波器就无法测量频率与占空比了?这篇文件小编就教大家如何使用定时器输入捕获功能测量频率与占空比。 原理解析 定时器输入捕获一般应用在两个方面,一个方面是脉冲跳变沿时间测量,另一方面是 PWM输入测量。下面将要使用就是测…

LaTeX快速入门

文章目录LaTeX快速入门一、 概述1、 简介2、 环境配置3、文件结构4、 文档结构二、 基本概念1、 第一个LaTeX程序2、 宏包和文档类2.1 宏包2.2 文档类3、 文件组织的方式4、 相关术语和概念三、 排版文字1、 文字编码2、 排版中文3、 LaTeX中的字符3.1 空格和分行3.2 注释3.3 特…

Redis(Ⅰ)【学习笔记】

(仅作为个人学习笔记) 1.什么是Redis? 1.Redis 是用C语言开发的一个开源的高性能键值对( key-value )内存数据库,它是一种 NoSQL 数据库。 2.它是【单进程单线程】的内存数据库,所以说不存在线…

charAt()方法的使用

charAt()函数 Java charAt() 方法属于Java String类 charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。 语法 public char charAt(int index) 参数 index – 字符的索引。 返回值 返回指定索引处的字符。 举个例子: package 做题;…

基于思维进化算法优化BP神经网络(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑…

Kubernetes之PV与PVC

1. 综述 当前,存储的方式和种类有很多,并且各种存储的参数也需要非常专业的技术人员才能够了解。在Kubernetes集群中,放了方便我们的使用和管理,Kubernetes提出了PV和PVC的概念,这样Kubernetes集群的管理人员就可以将注…

linux系统中利用设备树完成对LED的控制

大家好,今天主要和大家聊一聊,如何使用linux系统中的设备树控制led。 目录 第一:设备树LED基本驱动原理 第二:LED灯驱动程序的实现 第一:设备树LED基本驱动原理 本次实验采用设备树向linux内核传递相关的寄存器物理…

MATLAB演示梯度上升寻找极值

MATLAB演示梯度上升寻找极值 梯度 梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大&#xff08…

dubbo源码解析-SPI机制

SPI,Service Provider Interface,服务提供者接口,是一种服务发现机制。 JDK 的 SPI 规范 JDK 的 SPI 规范规定:  接口名:可随意定义  实现类名:可随意定义  提供者配置文件路径:其查…