项目实战第十七讲:使用异步编排优化商品详情页(对外流量最大)

Java8 CompletableFuture深度解析与商品详情页优化实践

项目结构采用了star方法,Situation:概括性的总结业务背景和挑战;Task:介绍你负责的任务已经需要达成的目标;Action:项目中你采取的关键行动;Result:项目落地后的实际效果。本文是项目实战第十七讲:使用异步编排优化商品详情页

1、项目背景

商品中心提供对外使用,最重要的接口就是商品详情页,需要着重考虑两个问题

  • 1、高并发的问题
    • 目前商品详情页的日均调用量:
    • 在设计存储的时候,如果没有考虑到高并发的问题,大促的时候,支撑商详页的商品中心系统必然是第一个被流量冲垮的系统。
  • 2、商品数据规模的问题
    • 目前batchFindFullDetail内部会根据条件起14个任务查询不同的信息,返回的数据庞大,且内部对db和外部接口调用较多。
    • 商品详情页在业务高峰期频繁超时,导致下游业务受到影响;
  • 难点:商详页是整个系统中日均访问次数最高的页面之一, 数量多(4亿一千万商品、11.3亿sku),重量大(商详页包含了大量文字、图片)
  • 目标:降低db操作和外部调用;

2、主要技术

使用了设计模式
1、职责链模式,一次调用每一条规则
2、模板模式,提供了拓展点让子类实现
3、泛型编程,提供抽象父类

3、项目职责

项目职责:

  • ①接口减负:提供大量入参上下文,减少数据量;
  • ②提供缓存+批量查询:减少查询次数;
  • ③异步编排:优化线程依赖关系,获取上一个任务返回的结果,并返回当前任务的返回值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员 jet_qi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值