亿级流量电商详情页系统设计与实战-小型电商架构VS大型电商架构

一、电商详情页架构大致分析

电商网站里,大概可以说分成两种:

  1. 传统小型电商网站,主要采用页面静态化的架构方案。
  2. 大型电商网站,使用较复杂的一套架构方案,商品详情页的系统架构 -> 缓存架构 -> 高并发 -> 高可用。

二、传统小型电商网站架构分析

主要采用的技术方案是:页面静态化,全量的页面静态化:

  1. 从数据库中获取数据,格式化成HTML模板数据。
<html>
	<title>
	 	<style css>
		<javascript>
	</title>
	<body>
		商品名称:#{productName}
		商品价格:#{productPrice}
		商品描述:#{productDesc}
	</body>
</html>
  1. 将生成的HTML格式化数据缓存到nginx中。
  2. 请求进来后,直接从nginx把缓存的HTML模板数据返回给前端。
前端 nginx 服务端 数据库 1.请求获取商品信息 2.缓存中获取到该商品html数据 3.缓存未命中,请求服务端获取商品信息 4.数据库中获取商品数据,生成HTML模板数据 5.缓存生成的HTML模板数据 6.将html模板数据返回前端 前端 nginx 服务端 数据库

这种传统电商架构的主要问题:

  1. 如果这个模板对应的所有数据,1万个数据,全部重新渲染一遍,填充到模板中,生成最终的静态化html页面,缓存到nginx中,不具有横向拓展的伸缩性。
    : 对于小网站,页面很少,很实用,非常简单,模板引擎,velocity,freemarker,页面数据管理的cms系统,内容管理系统点击一个按钮,做成系统自动化,重新全量渲染html --> 几百个页面,推送到nginx服务器上面
    : 对于大型电商网站,商品数据量特别的庞大,1亿的数据,重新生成HTML模板数据,推送到nginx缓存中?时间和精力成本太大,这种方案明显已经不合理了。

三、大型电商网站架构分析

在这里插入图片描述

上百节课详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程介绍: 讲解一个真实的、复杂的大型企业级亿级高并发项目,是java架构实战课程。 通过本套课程的学习,可以积累大量架构设计经验,迈入架构师行列。 课程特色: 1、完整的大型电商详情页系统架构:不再只是关注电商详情页架构中的缓存架构部分,而是关注全链路、全流程的完整架构,对完整的架构进行设计以及开发,包括了动态渲染系统、OneService系统、前端页面、大型工程运维四个部分。 2、基于更加完整的业务架构来讲解,从最源头的商品服务、价格服务、库存服务开始,从业务数据的变更到缓存数据的生产,将整个商品详情页系统架构串联起来。虽然上游服务的业务还是做了大幅度的简化,但是业务架构更加完整,能够让同学们站在更加完整的角度来学习和理解整个架构。 3、完整的微服务架构的项目实战:微服务完整的架构中,一定是包含了微服务建模/模型设计、基础技术架构、持续交付流水线、容器部署几个环节的,而市面上已有的微服务课程,几乎很少有完全涵盖这些环节的,更不用说微服务架构实战了。课程中,将会讲解完整的微服务架构,包括基于Spring Cloud作为微服务架构的基础技术架构,基于DevOps思想与Jenkins构建持续交付流水线以及自动化测试套件,基于Docker作为容器部署和运行微服务。同时最有价值的地方在于,可以基于完全真实的亿级流量电商详情页系统的项目背景下,来实战这整套微服务架构,相当于是一个真实的微服务架构项目实战。 4、多机房部署架构下的4级缓存架构:大公司里真实的亿级流量高并发系统,都是采取了多个机房的部署架构,以实现高可用以及异地灾备。课程会重点讲解,在多机房部署架构下,如何设计和实现高并发系统的4级缓存架构。 5、复杂业务场景下的多层次消息队列架构:在复杂的业务场景下,需要设计多层次的消息队列架构,包括了去重队列、优先级队列、刷数据队列等多个层次的复杂架构设计与实现。 6、后台服务的多线程并发架构设计:对于后台运行的服务,需要采用多线程并发设计大幅度提升系统的资源利用率以及吞吐量。 7、Redis集群的批量数据查询性能优化:对于分布式的Redis集群,数据在多个实例中分布式存储,如果要优化大批量数据的批量查询性能,就需要采用hash tag分片路由+mget单分批大批量读取的优化设计。 8、高可用架构设计:整套大型系统如何实现高可用架构设计和部署?需要对整个读链路进行多级降级机制的设计,并且还需要进行基于Hystrix的依赖调用隔离 9、基础设施技术涵盖了大型系统中常用的各种技术,包括了:LVS+KeepAlived、Nginx+Lua、Twemproxy+SSDB+Redis(磁盘+内存的分布式与读写分离双KV集群)、RabbitMQ消息中间件 10、直接可以二次开发的代码:本次升级,采取了大型电商网站商品详情页系统完整的全链路架构,包括基础设施如何部署,以及整体代码架构,都是完全按照公司里来做的。虽然本次升级依然是专注于架构,而不是业务,基本还是没有包含什么业务,但是本次课程最后做完产出的架构和代码,都是可以直接拿到手,在架构里填充进你们自己的业务就可以进行二次开发的,工业价值非常高!同时强调一下,本课程不会提供电商业务代码的二次开发,因为本课程几乎不包含太多的电商业务代码,主要讲解架构,所谓的代码二次开发,是对架构代码进行二次开发,在架构中填入你们自己的业务!!! 11、大公司的OneService一站式入口服务:基于商品详情页依赖数十个服务的业务特点,深入讲解了如何设计与开发大公司中常见的一站式入口服务,代理后端数十个服务,作为统一入口,打造服务闭环。 12、大型电商网站的前端页面的核心业务逻辑:完整讲解了大型电商网站的前端页面如何与后端整套系统配合的业务逻辑,包括了动态渲染系统直接渲染首屏的商品基本信息,滚屏时Ajax异步加载分段存储的商品介绍,Ajax异步调用OenService系统来加载时效性要求很高的价格、库存等数据。 13、大型电商网站的工程运维实践:在大型系统中,一定是需要对整套工程的运维流程做良好的设计的,包括了线下压测、线上压测、灰度发布、高峰期限流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jovanjiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值