1.立项背景
现有微服务架构的购物网站平台,但首页推荐长期依赖简单规则及人工运营,无法基于用户推荐且转化率偏低。因此上层觉得开发市场分析和个性化推荐服务。
2.项目目标:
•在不改动现有 Java 微服务整体架构的前提下,引入机器学习推荐与预测系统。
•用户登录首页提供个性化推荐列表,推荐结果按天离线更新,且可扩展到其他场景。
3.主要痛点:
•传统市场分析预测造成的用户点击率低和下单率差距大。
•线上实时性与线下复杂计算的要平衡,不能造成线上接口延迟。
软件核心功能介绍
这是一个离线训练的推荐系统,根据用户历史行为与特征,生成 Top K 个个性化推荐商品,并通过接口返回给前端展示。功能模块:
•数据与特征服务模块: 汇总 MySQL的订单表等及埋点统计点击数据;使用 Spark SQL 生成多维度特征表。
•序列建模与RNN召回: 把用户购买行为明细加工为时间序列;通过 PyTorch 实现 RNN模型,预测未来用户感兴趣的商品,生成结果表。
•精排打分LR模块LR:基于 Spark MLlib 的 Logistic Regression 模型,对候选集合进行购买概率预测排序。
•推荐结果融合与存储模块:对模型输出进行规格化,将最终推荐结果写入 MongoDB。
•发布推荐查询服务模块:辑封装到基于 Flask 的查询 API 中,供登录/首页推荐服务调用。
•调度与运维模块:通过 Docker + cron(或调度平台)定时调度 Spark 作业与 Python 推理脚本。
1.整体架构
•使用python+flask搭建服务,采用两阶段推荐方案,实现粗颗粒筛选候选集进而精细排序打分。
•将推荐算法与前端查询解耦,规避接口的延迟可能。
2.技术栈
• 服务层:Java + Spring Boot
• 数据层:MySQL
• 缓存层:类Redis用于缓存分期权益计算结果、拼团详情及热点等。
• 消息:类MQ用于实现异步流程。
3.主要贡献
作为团队组长负责整体框架搭建包括:
•设计并实现了产品/用户特征计算管道(Python/Spark),将分散的基于 RMI 的统计数据重构为机器学习驱动的推荐微服务。
•使用 Spark SQL 聚合用户行为和交易数据,并为预测模型构建基于 Hive 的特征表和用户行为序列模型。
•设计了两阶段机器学习管道——PyTorch RNN 序列 + Spark MLlib LR——用于预测用户的复购行为,并将每个用户的候选集和评分持久化到 MongoDB 中。
•将推荐查询逻辑封装到基于 Flask 的查询 API 中,供登录/首页推荐服务调用。
•设计了一条只读分析路径,其中 API 从候选存储读取数据,而 Kafka 将行为事件发布到特征存储,从而实现读写分离,避免影响核心事务处理路径。
•与运维团队合作,使用 Docker 将模型容器化,并将批量训练集成到基于 cron 的调度中,从而实现模型每日自动刷新。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论