亿级流量电商详情页系统实战-2.大型电商网站的异步多级缓存构建+nginx数据本地化动态渲染的架构

1.架构图

大型电商网站的详情页架构一般是这样的核心思路,如下图:
在这里插入图片描述

2.两个关键点

  • 缓存数据生产服务
    缓存数据生产服务,一般会监听一个MQ。当有服务(如商品服务)数据发生变更,会发消息给MQ,此时缓存数据生产服务会监听到,从而从服务(商品服务)获取变更的数据,更新到本地缓存Ehcache中,也会同步更新到Redis中。
  • 使用nginx返回页面
    nginx页面渲染:nginx 上的 html 模板 + 本地缓存数据

3.大概流程:

  1. 用户访问页面
  2. nginx会找到对应的本地html模板
  3. nginx读取本地的缓存中获取数据
  4. 渲染后形成页面,返回给用户

这里会有几点,需要指出:

  1. 渲染的时间是很快的,一般是几毫秒
    实时渲染成html页面与先渲染好,直接访问html页面的性能相关不大
  2. nginx本地缓存数据是有时间的,比如 10 分钟
    .如果nginx 本地缓存失效,则从redis 中获取数据回来并缓存上
    .假如redis 中的数据失效,会从缓存数据生产服务中获取数据并缓存上
    .如果缓存数据生产服务的数据也失效,则缓存数据生产服务直接从业务服务(查表)获取数据并缓存上
  3. 什么时候redis数据失效了,缓存数据生产服务却存在?
    存储时指定了失效时间或redis内存管理机制,淘汰算法可能会将数据丢弃掉
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值