《深入分布式缓存:从原理到实践》学习笔记(最终篇)

第十四章 典型电商应用与缓存

  • 及时响应性的用户需求

  • 数据准确行需求

  • 平台海量请求的诉求

  • 高可用诉求

14.1 电商类一个你用的挑战及特点

  • 稳定性决定服务能力

  • 高并发场景(Scale Out 加机器、Scale Up 提升单机性能)

  • 业务发展性能也得发展

  • 产品快速试错

14.2 应用数据静态化架构高性能单页Web应用

image.png

  • CMS系统:

    • 使用URL作为key,没有url使用id或者生成一个url作为key

    • 多版本使用redis的hash结构存储,字段按照维度存储:

      • 正式:www.baidu.com/{时间戳}

      • 预发布:www.baiducom/predeploy=true

      • 灰度:www.baidu.com/abVersion=true

      image.png

14.3 应用多级缓存模式支撑海量读服务

  • Nignx服务器一般采用轮询算法一致性hash算法

    image.png

  • 不过期的缓存机制

    image.png

    • 适用于用户、分类、商品、价格、订单等,当缓存满了可以考虑LRU机制;同时,缓存定期同步Mysql的binlog实现缓存同步

  • 维度增量缓存

    image.png

  • 大vaule缓存:使用多线程缓存(Memcached);对value进行压缩;Value拆分

  • 热点缓存:多缓存节点作缓存负载均衡;几秒的本地缓存。

  • 缓存负载均衡:应用Nginx在负载降低时使用一致性哈希访问服务器;负载较高时,使用服务器轮询;秒杀类商品等某些热点数据可以直接推入接入层Nginx。

    image.png

  • 热点数据与更新缓存

    • 单击全量缓存+主从

      image.png

    • 分布式缓存+应用本地热点

      image.png

    • 实时热点发现系统

      image.png

  • 因为本地缓存的存在,要考虑数据一致性问题,即何时失效或更新缓存

    • 订阅数据变更消息

    • 无法订阅数据或订阅成本较高,且对一致性要求不严格,则可以设置合理过期时间

    • 秒杀类的活动,可以订阅活动开启消息,将相关数据提前推送到前端应用,并将负载均衡机制降级为轮询。

    • 建立实时热点系统来对热点进行统一推送和更新

  • 更新缓存的原子性:版本号机制;使用如canal订阅binlog;多个队列单线程更新;分布式锁

14.4 构建需求响应亿级商品详情页

  • 单品页技术架构发展

    image.png

    • image.png

    • image.png

    • image.png

 

16 新的旅程

  • image.png

  • image.png

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值