当前位置:首页 >探索 >聊聊转转商品到手价设计 活动等模块的商品协同工作

聊聊转转商品到手价设计 活动等模块的商品协同工作

2024-06-28 15:52:19 [百科] 来源:避面尹邢网

聊聊转转商品到手价设计

作者:熊先泽 开发 架构 在整体架构中,聊聊商品的转转到手价涉及红包,活动等模块的商品协同工作。通过将商品售价、到手红包、价设计活动等因素纳入综合考虑,聊聊计算出最终的转转到手价,为顾客提供良好的商品购物体验。

一、到手背景介绍

1.1 问题

  • 搜索结果落地页,价设计按照价格筛选及排序,聊聊结果不太准确;
  • 用户按照价格筛选后的转转商品与实际存在的商品不符,可能会缺失部分商品,商品影响到用户购物体验。到手

图片

1.2 到手价模块在促销架构中所处的价设计位置

在整体架构中,商品的到手价涉及红包,活动等模块的协同工作。通过将商品售价、红包、活动等因素纳入综合考虑,计算出最终的到手价,为顾客提供良好的购物体验。

聊聊转转商品到手价设计 活动等模块的商品协同工作

图片

聊聊转转商品到手价设计 活动等模块的商品协同工作

二、设计目标

  • 体验:用户及时看到商品的最新到手价,提升用户购物体验;
  • 实时性:由原来的半小时看到商品的最新到手价,提升到3分钟内。

三、技术方案核心点

3.1 影响因素

图片

聊聊转转商品到手价设计 活动等模块的商品协同工作

影响商品到手价的主要因素:

  1. 商品,发布或改价;
  2. 红包,新增/删除或过期;
  3. 活动/会馆,加入或踢出。

3.2 计算公式

图片

如图所示,商品详情页到手价的优惠项明细可用公式总结如下:

商品的到手价 = 商品原价 - 活动促销金额 - 红包最大优惠金额

四、落地过程及效果

图片

随着业务需求的变化,系统也需要不断地增加新功能或者对现有功能进行改进,通过版本演进,可以逐步引入新的功能模块或优化现有模块,以满足业务的需求。

商品的到手价设计也是遵循这样规则,从开始的v1.0快速开发上线,响应业务;到v2.0,v3.0进行性能优化,升级改造,使用户体验更佳,更及时。

4.1 v1.0流程

图片

v1.0流程一共分为两步:

  1. 定时任务拉取拉取特定业务线的全量商品,将这批商品全量推送给各个接入方;
  2. 促销系统提供回查接口,根据商品id等参数,查询商品的到手价;

4.2 v1.0任务及接口

图片

  1. v1.0任务执行时间长,偶尔还会出现执行失败的情况;而在正常情况下用户大概需要半小时左右才能感知到最新的商品到手价;
  2. 需要提供额外的单商品及批量商品接口查询到手价,无疑会对系统产生额外的查询压力,随着接入方的增加,接口qps会成比例增加;

4.3 v2.0设计

针对v1.0版本长达半个小时更新一次到手价问题,v2.0解决方案如下:

  • 实时处理部分

商品上架/商品改价;

商品加入/踢出活动;

商品加入/踢出会馆;

这部分数据的特点是,上述这些操作是能实时拿到商品的infoId,基于这些商品的infoId,可以立即计算这些商品的到手价并更新出去。

图片

商品发布/改价,加入活动/会馆,踢出活动/会馆;接收这些情况下触发的mq消息,携带商品infoId,直接计算到手价。

  • 3min任务,计算特定业务线的全量商品到手价

红包: 新增/更新/删除/过期;

这部分数据的特点是,一是不能很容易能圈出受到影响的这批商品infoIds,二是有些红包的领取和使用范围可能会涉及绝大部分的商品,甚至有些时候大型促销会配置一些全平台红包,影响范围就是全量商品。

综上,结合这两种情况,以及现有的接口及能力实现v2.0;

图片

推送商品的到手价,消息体格式如下,包括商品id,平台类型,到手价:

[{ "infoId":"16606xxxxxxx174465","ptType":"10","realPrice":"638000"}]

图片

首先在Redis维护全量商品,根据商品上架/下架消息,新增或删除队列中的商品;其次将全量商品保存在10000队列中,每个队列只存一部分商品:

queue1=[infoId...]queue2=[infoId...]...queue9999=[infoId...]

右图显示的是每个队列存储的商品数,队列商品数使其能保持在同一个量级。

图片

多线程并发计算,每个线程只计算自己队列的商品到手价即可;同时增加监控及告警,查看每个线程的计算耗时,右图可以看到大概在120s内各线程计算完成。

注意事项:

  1. 避免无意义的计算: 将每次变化的红包维护在一个队列中,任务执行时判断是否有红包更新;
  2. 并发问题: 当任务正在执行中时,此时恰巧商品有变化(改价,加入活动等),将此次商品放入补偿队列中,延迟执行;

综上,结合这两种场景可以做到:

  1. 某些场景影响商品的到手价(如改价等),携带了商品infoId,能做到实时计算并立即推送最新的到手价;
  2. 拆分多个商品队列,并发计算;各司其职,每个线程只计算自己队列商品的到手价;
  3. 降低促销系统压力,接入方只需要监听到手价消息即可。

4.4 v3.0设计

图片

可以看到随着商品数的增加,计算耗时也成比例增加。

图片

解决办法:

  1. 使用分片,v2.0是将一个大任务,由jvm多线程并发执行各自队列的商品;v3.0则是将这个大任务,由多个分片去执行各自队列中的商品,使其分布式执行来提高任务的执行效率和可靠性;
  2. 扩展性及稳定性强,随着商品的增多,可以适当增加分片数,降低计算耗时。

5 总结

  • 系统扩展性 数据量日渐增大,系统要能做升级扩展;
  • 系统稳定性 业务迭代,架构升级,保持系统稳定;
  • 完备的监控告警 及时的监控告警,快速发现问题,解决问题;
  • 演进原则 早期不过度设计,不同时期采用不同架构,持续迭代。
责任编辑:武晓燕 来源: 转转技术 jvm多线程并发

(责任编辑:探索)

    推荐文章
    • 国美客服电话是多少 国美零售主要营收来自于哪个业务?

      国美客服电话是多少 国美零售主要营收来自于哪个业务?公开资料显示,国美全称是国美零售控股有限公司,是中国领先的家用电器及消费电子产品全渠道零售商,客服电话是400-811-3333。不少人很是好奇,国美2021年业绩好吗?下面,我们一起来了解一下。3月 ...[详细]
    • 测评:360手机f4、红米Note3 3GB内存千元热销智能手机良心推荐

      测评:360手机f4、红米Note3 3GB内存千元热销智能手机良心推荐今年以来,手机厂商发新品的速度明显加快,新品有千元机也有旗舰机,目前的情况来看,千元机的配置变得越来越高了,尤其在运行内存上,3GB内存的新机是普遍出现,这与消费者不断增长的需求有关。专家表示,目前消 ...[详细]
    • OpenHarmony轻量化系统声音收录

      OpenHarmony轻量化系统声音收录OpenHarmony轻量化系统声音收录作者:X丶昕雪 2023-03-15 16:31:56系统 OpenHarmony 本次使用的INMP441是一个数字麦克风,即本身包含了ADC,传递进来的数据 ...[详细]
    • OpenHarmony ArkUI

      OpenHarmony ArkUIOpenHarmony ArkUI - ets_runtime启动流程源码解读作者:张志成 2023-03-13 15:03:05系统 OpenHarmony 本文基于OpenHarmony源码梳理应 ...[详细]
    • 恒嘉融资租赁(00379.HK)预计年度亏损扩大至3亿

      恒嘉融资租赁(00379.HK)预计年度亏损扩大至3亿恒嘉融资租赁(00379.HK)公告,公司预计截至2020年12月31日止年度将录得重大净亏损约3亿港元至4亿港元,相较于上年度净亏损约5100万港元。董事会认为,预期净亏损增加主要由于以下原因:(i ...[详细]
    • 获得腾讯投资后 斗鱼TV在直播行业还面临哪些危机?

      获得腾讯投资后 斗鱼TV在直播行业还面临哪些危机?郭mini不雅视频事件刚刚过去,斗鱼TV赶紧公布已成功融资一亿美金,腾讯领投。靠着这个信息的公布,斗鱼TV同时公关一波,表示自己已坐稳中国直播行业第一的位置,并成功迈入独角兽行列,而融资成功加上腾讯背 ...[详细]
    • Hyperledger Fabric介绍

      Hyperledger Fabric介绍Hyperledger Fabric介绍作者:Matt Zand 2019-09-11 11:58:02开源 区块链 Hyperledger 超级账本)是一组开源工具,旨在构建一个强大的、业务驱动的区 ...[详细]
    • vivo发新品预告 为海外市场全力打造

      vivo发新品预告 为海外市场全力打造vivo自从春节过完之后就一直没能停下发新机的脚步,不仅是国内市场,海外市场也在一直不断的带来新品。近期,vivo在海外市场公布了其将要发布的新机vivo V19的官方海报,预示着这款背面采用矩阵式四 ...[详细]
    • 分期乐逾期一天有关系吗 主要影响有哪些?

      分期乐逾期一天有关系吗 主要影响有哪些?作为一款口碑还算可以的网贷平台,分期乐的用户还是比较多的。很多人在手头缺钱的时候,就会申请分期乐,不过也有一些用户因为其他原因,不小心就造成了逾期。分期乐逾期一天有关系吗?一起来跟希财君了解一下吧!分 ...[详细]
    • 那个没被云原生干掉的运维,转头就做了SRE……

      那个没被云原生干掉的运维,转头就做了SRE……那个没被云原生干掉的运维,转头就做了SRE……作者:张亚龙 2022-06-10 10:49:16云计算 云原生 新闻 本文主要介绍了站点可靠性工程SRE)以及如何在系统扩展时监控和保持系统快速可靠。 ...[详细]
    热点阅读