解密电商系统架构发展历程

以前看的一本书淘宝这十年来,一起回顾下电商系统的发展历程,其实也折射了目前很多系统技术发展的变革 。从单机版到目前淘宝的技术状态 。
 
解密电商系统架构发展历程

文章插图
 
 
(一)目的
  1. 一起了解学习的分布式专题技术可以串起来 。
  2. 2.了解电商系统相关的技术知识 。
  3. 3.面试,工作可以应用到 。
(二)一个电商系统到底包含什么
图有点长,网上找的但是如果要做这个系统老费劲了 。体力活 。美国,苏宁,京东电商大型网站都是上万人研发 。可见系统的庞大 。
 
解密电商系统架构发展历程

文章插图
 
 
解密电商系统架构发展历程

文章插图
 
 
(三)系统的历史
  • 淘宝第一版--个人网站
LAPM 【linux+apche+php+MySQL】
 
解密电商系统架构发展历程

文章插图
 
 
解密电商系统架构发展历程

文章插图
 
 
  • 1.JAVA早期的电商网站
多个模块在一个系统中,通过jdbc的访问同一个数据库 。
 
解密电商系统架构发展历程

文章插图
 
 
存在的问题,随着流量越来越大,数据库查询速度慢,系统反应慢等等,单机的性能瓶颈 。
  • 2.java电商网站,引入集群
加机器的方式解决,集群的方式来解决 。
 
解密电商系统架构发展历程

文章插图
 
 
存在的问题,访问的那台机器是不知道的 。
  • 3.java电商网站,引入负载
增加负载的方式,分为硬负载f5,软负载Nginx 。
 
解密电商系统架构发展历程

文章插图
 
 
存在的问题,第一次访问的机器是A机器,第二次因为负载了访问了B机器 。
  • 4.java电商网站,负载后,请求的4种解决方案 。
(1)hash的方式,通过请求IP的hash值绑定要请求的服务器 。
 
解密电商系统架构发展历程

文章插图
 
 
存在的问题,abc每次请求都发A机器,这个就是受单点的问题,如果A机器挂了,abc的请求得不到转向,一直请求A机器,用户一直访问不了,一直报错 。
(2)session的复制,通过A和B机器进行相互的session复制
 
解密电商系统架构发展历程

文章插图
 
 
存在的问题,Tomcat广播的形式,造成资源的浪费,100万用户在线,等于每个tomcat里面都有100万的用户session的信息,对系统的浪费承诺很大 。适用于小型网站 。
(3)基于cookie的方式,cookie包含session的数据
解决了上面session复制,资源的浪费,服务端的压力的问题 。
 
解密电商系统架构发展历程

文章插图
 
 
存在的问题,数据不安全的问题,用户数据的都在客户端,存在破解的可能 。手机一般都使用这种cookie的方式,手机都是单独自己使用的,不存在公共部分 。
(3)session集中存储的方式,加入redis或者其他中间件
 
解密电商系统架构发展历程

文章插图
 
 
存在的问题,相比前集中增加了redis中间件,增加了运维和开发的成本 。如果用户量非常大,用中间件的方式也是可用性非常高的 。
  • 5.java电商网站,数据库原来一个应用一个数据库,需要集群数据库用同一个 。
 
解密电商系统架构发展历程

文章插图
 
 
5.java电商网站,数据库分读写,解决高并发读写的问题,master和slave流量的问题 。
 


推荐阅读