通过京东技术演进和淘宝技术演进,探察未来技术和架构

我们从京东和淘宝技术架构演进,可以看出电商在发展过程中的必经之路:Mysql->Oracle->分布式计算和分布式存储->???未来

引用下《京东技术解密》书中的内容:

基于Hadoop,以Mapreduce作为计算引擎的的分布式数据仓库可以说是大数据处理的“标配”,2012年8月,由40台机器搭建的第一版集群上线,相较于Oracle小型机,性能明显提升,让我们第一次体会到分布式的威力。2012年12月,集群服务器数量增加到110台,但由于带宽限制,性能遇到瓶颈,于是在2013年3月升级万兆带宽,同时服务器数量增加到200台。3个月后的2013年6月,MySQL数据仓库完成迁移,正式退出京东主数据仓库,集群服务器数量达到310台。2013年11月,京东全业务线数据接入集群,可满足公司各体系业务,服务器数量达到440台。2013年12月,老葛、彦明带领一众BI兄弟连续奋战三个月之后,终于完成Oracle数据仓库迁移,相关任务全部下线,Oracle正式退出京东数据仓库。2014年3月,集群服务器数量达到800台,仓库模型全面升级到JDW2.0。调度平台功能逐渐完善,生产模式也由原来的单节点调度升级到分布式调度。数据开发、元数据管理、数据质量监控、数据展现及统一权限管理产品全面推广应用。基础数据经过数据仓库加工后通过数据集市的方式面向公司各体系开放服务,同时,面向集市用户的产品运营与认证培训工作建立标准体系,至此,京东大数据平台逐步走向成熟。

来自:http://download.csdn.net/detail/broadview2006/8206993

引用下阿里云计算中的内容:

自2003年创立以来的,淘宝业务发展非常迅速,几乎是每年以100%的速度在成长。创立之初,为了快速上线,抢占市场,选择了当时流行的LAMP架构,用PHP作为网站开发语言, Linux作为操作系统,Apache作为Web服务器,MySQL为数据库,用了三个月不到的时间淘宝就上线了。当时整个网站应用服务器大概10台左右,MySQL数据库采用了读写分离、一主两备的部署方式。2004年在淘宝业务发展的推动下,我们参考电信运营商、银行等的一些企业解决方案,将LAMP架构改造为Oracle+IBM小型机的数据库架构和EMC存储方式(图2)。虽然方案成本昂贵,但性能非常好。同时,随着网站流量的增加,系统显得有些不堪重负。当时最担心的问题是网站流量如果持续增加,交易量持续增加,网站的系统架构怎么设计?如何选择数据库?如何选择缓存?如何构建业务系统?……后来参考eBay的互联网设计架构,设计了一个Java的技术方案,并使用了非常多的Java开源产品。例如,选择当时比较流行的JBoss,作为应用服务器;选择一个开源的IOC容器Spring,来管理业务类;封装了一个数据库访问工具IBatis,作为数据库和Java类的Object-Reletionship映射工具。另外,对于商品搜索功能,采用自己开发的ISearch搜索引擎来取代在Oracle数据库中进行搜索,降低数据库服务器的压力。做法比较简单,每天晚上全量将Oracle小型机的数据dump出来,Build成ISearch的索引,当时商品量也不大,一台普通配置的服务器,基本上可以将所有的索引都放进去,没做切分,直接做了一个对等集群。
从2006年开始,淘宝为了改善用户体验,开始建立自己的CDN站点,由于淘宝的主要流量来源于各种商品图片、商品描述等静态数据,自建CDN可以使这些资源离用户更近,提升用户访问速度,改善用户浏览网站的体验。2007年,淘宝全年的交易额超过400亿元,平均近1亿多一天,每天有100多万笔交易被创建。当时面对的几个主要问题是:一些系统的流量非常大,如商品详情等,如果直接访问数据库,会导致数据库压力非常大;如用户信息,访问一个页面,都需要查询买家信息、卖家信息、显示出买家的信用、卖家的服务星级等。此时,淘宝采用分布式缓存TDBM(Tair的前身)将这些热点静态数据缓存在内存中,提高访问性能。另外,将自己研发的分布式文件系统TFS部署在多台x86服务器上,取代商业的NAS存储设备来存储淘宝的各种文件信息,如商品图片、商品描述信息、交易快照信息,来达到降低成本和提高整体系统的容量和性能的目的,同时可以实现更灵活的扩展性。第一期上线大概200台TFS服务器。另外,将ISearch搜索引擎改为分布式架构,支持水平扩展,部署了48个节点。图3展示了这一架构思路。2008年初,为了解决Oracle数据库集中式架构的瓶颈问题(连接数限制、I/O性能),将系统进行了拆分,按照用户域、商品域、交易域、店铺域等业务领域进行拆分,建立了20多个业务中心,如商品中心、用户中心、交易中心等。所有有用户访问需求的系统,必须使用业务中心提供的远程接口来访问,不能够直接访问底层的MySQL数据库,通过HSF这种远程通信方式来调用业务中心的服务接口,业务系统之间则通过Notify消息中间件异步方式完成调用。图4是淘宝的分布式架构图。从2010年开始,淘宝网重点着眼于统一架构体系,从整体系统层面考虑开发效率、运维标准化、高性能、高可扩展性、高可用、低成本方面的要求,底层的基础架构统一采用了阿里云计算平台(图5),使用了SLB、ECS、RDS、OSS、ONS、CDN等阿里云计算服务,并通过阿里云服务提供的高可用特性,实现双机房容灾和异地机房单元化部署,为淘宝业务提供稳定、高效和易于维护的基础架构支撑。

来自: http://www.csdn.net/article/a/2014-12-09/15821474

针对公司发展的不同阶段,我们可以使用不同的技术和架构:

小公司初始阶段:Mysql

中小公司阶段:Oracle

大公司阶段:分布式计算和分布式存储

特大公司阶段:超大智能分布式计算和超大智能分布式存储

通过京东技术演进和淘宝技术演进,探察未来技术和架构相关推荐

  1. 淘宝移动转型复盘:技术扮演重要角色

    这些天最被关注的,非AlphaGo对战李世石莫属.尽管互联网已出现多年,但其背后用到的一些关键技术却从未像今天这样受到大众关注.赞叹和期待.事实上,互联网企业正愈发重视技术的价值,不论是产品.运营.设 ...

  2. 淘宝直播窄带高清技术

    本文来自阿里巴巴淘系技术部 高级算法专家王立波在LiveVideoStackCon 2020线上峰会的分享,从直播背景.直播痛点分析.窄带高清.云视频技术趋势几方面详细介绍了如何在确保用户体验QOS不 ...

  3. 冯森林:手机淘宝中的那些Web技术

    2019独角兽企业重金招聘Python工程师标准>>> Native APP与Web APP的技术融合已经逐渐成为一种趋势,使用标准的Web技术来开发应用中的某些功能,不仅可以降低开 ...

  4. 性能第三讲:百万级QPS,支撑淘宝双11需要哪些技术

    性能第三讲:百万级QPS,支撑淘宝双11需要哪些技术 又到一年双11,相信大部分同学都曾经有这个疑问:支撑起淘宝双11这么大的流量,需要用到哪些核心技术?性能优化系列的第二篇我想跟大家探讨一下这个话题 ...

  5. 天猫、淘宝运营数据抓取技术概述

    对通用网站的数据抓取,比如:谷歌和百度,都有自己的爬虫,当然,爬虫也都是有程序写出来的.根据百度百科的定义:网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或 ...

  6. 【淘宝SEO技巧】解读淘宝新规及SEO技术实战指南

    为了协助广大卖家了解规则,做好优化,而且与淘宝SEO的愛好者与实践者交换,特此撰文,解读一下在新规则下哪个是赢家,而且給出一些实战技术.文章可能有点长,但绝对有效,有缘人(碰到此文的人)可能受益,有心 ...

  7. VR技术不仅仅适用于淘宝 VR+医疗来袭

    本文讲的是VR技术不仅仅适用于淘宝 VR+医疗来袭,淘宝推出的buy+技术刷新了我们对网上购物的新眼界,让我们可以立体真实感受网上购物的实店购买体验,让网上购物变得轻松无忧.其中的VR技术起了至关重要 ...

  8. 手机淘宝双11全球狂欢节技术解读

    手机淘宝 双11全球狂欢节技术解读 2015双11全球狂欢节全天交易额912.17亿元!无线成交626.42亿元!无线占比68.67%!--这是消费的力量,是新经济的力量,是我们每一个人的力量,更是中 ...

  9. 一张图讲清楚淘宝直播背后的前端技术 | 赠送多媒体前端手册

    2020年,直播带货火爆全网.想一探淘宝直播背后的前端技术?本文将带你进入淘宝直播前端技术的世界. 对于大多数前端工程师来说,音视频技术是一个比较少涉足的领域,本文涵盖了流媒体技术中的文本.图形.图像 ...

最新文章

  1. 普通二叉树、二叉查找树、平衡二叉树常见操作汇总
  2. java项目_JNPF快速开发平台-简单快速高效开发java项目
  3. 农林废弃物如何变废为宝?
  4. sdn和nfv的区别—Vecloud微云
  5. html表格分页无插件,wordpress无插件实现单篇文章分页显示
  6. 总分第一!阿里云数据库应用迁移解决方案通过信通院首批最高级评测
  7. 泛型的继承和通配符,同时归纳集合部分的面试点
  8. 达观数据:Tornado原理浅析及应用场景探讨
  9. 全网最全leafLetAPI中文版
  10. mysql语句中单引号、双引号、反引号用法与区别
  11. NTFS与FAT32区别
  12. 目标检测经典论文详解
  13. win7 删除网络计算机,win7系统修改和删除网络图标的方法
  14. Go 如何打包与压缩文件
  15. ASPX一句话木马详细分析
  16. 金融量化交易场景下数据库如何改造?同花顺、弘源泰平真实案例分享
  17. GSM通话断续问题分析
  18. Python轻松搞定免费语音合成,利用百度AI为短视频配音
  19. 使用线程池优化多线程编程
  20. mysql php dll_php_pdo_mysql.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家

热门文章

  1. 软件工程 阶段测试三
  2. 硬件加速 | 常用电路设计之PRBS伪随机码发生器的设计
  3. 科大讯飞智能办公本Air电纸书阅读器,让我的工作生活更加健康
  4. Linux系统mysql半同步复制
  5. 数据分析 学习小结记录
  6. Google Drive—谷歌云盘大文件下载
  7. 三位如花女人的多彩理财生活
  8. 鸿蒙系统发布会门票,早鸟票最后一天!继鸿蒙系统发布后,华为又准备搞事情了!...
  9. wamp介绍及crossbar.io服务搭建
  10. dede模板加入php无法生成栏目,织梦后台更新后栏目无法生成,怎么办?