# class-load-dps
**Repository Path**: wujianghui/class-load-dps
## Basic Information
- **Project Name**: class-load-dps
- **Description**: class-load-dps
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-04-02
- **Last Updated**: 2025-07-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# recommend-dps
推荐系统AB平台,无需单独部署,集成客户端、支持ab测试、ab分流多个策略,白名单、组件化部署、热部署、动态变更代码策略等功能。
依赖:
1.apollo
2.springboot
```
#ab测试分流策略 权重/分区
rec.dps.sence.XXXX.dpsAbLoad=weight/weightPartition
#场景超过某个时间打印日志
rec.dps.sence.XXXX.dpsSenceTime=300
#白名单开关
rec.dps.sence.XXXX.group.dpsWhiteSwitch=true/false
#dpsAbLoad=weight时,表示权重,=weightPartition时,表示设备/用户 hashCode值之后的后2位
rec.dps.sence.XXXX.group.dpsWeight=10/10-20
#白名单路由
rec.dps.sence.XXXX.group.dpsWhiteId=1123
#default组下的召回层的耗时
rec.dps.sence.XXXX.group.default.recall.dpsTimeOut=200
#default组下的召回层的下的组件是并行还是穿行
rec.dps.sence.XXXX.group.default.recall.dpsParallel=true/false
#default组下的召回层的下的组件响应日志开关
rec.dps.sence.XXXX.group.default.recall.dpsLogDebug=true/false
#default组下的召回层的下的组件的default的权重,组件下只支持权重
rec.dps.sence.XXXX.group.default.recall.default.dpsWeight=10
#组件名称
rec.dps.sence.XXXX.group.default.recall.default.[0].modelName=xxx
#组件核心方法
rec.dps.sence.XXXX.group.default.recall.default.[0].model=组件
#召回层第二路召回
rec.dps.sence.XXXX.group.default.recall.default.[1].modelName=xxx
rec.dps.sence.XXXX.group.default.recall.default.[1].model=组件
rec.dps.sence.XXXX.group.default.merage.default.[0].modelName=xxx
rec.dps.sence.XXXX.group.default.merage.default.[0].model=组件
rec.dps.sence.XXXX.group.default.widerank.default.[0].modelName=xxx
rec.dps.sence.XXXX.group.default.widerank.default.[0].model=组件
rec.dps.sence.XXXX.group.default.rank.default.[0].modelName=xxx
rec.dps.sence.XXXX.group.default.rank.default.[0].model=组件
rec.dps.sence.XXXX.group.default.postrank.default.[0].modelName=xxx
rec.dps.sence.XXXX.group.default.postrank.default.[0].model=组件
```
接入教程
pom引入
```
com.dps
recommend-dps
XXXX.RELEASE
```
apollo配置
```
apollo:
bootstrap:
eagerLoad:
enabled: true
enabled: true
namespaces: dps_rec_sence,application
meta: http://XXXX
app:
id: dps-rec-square
```
启动项添加扫描
```
@ComponentScan(basePackages = {"com.dps.recommend"})
```
Request实体继承com.dps.recommend.beans.Request
controller的demo
```
@ResponseBody
@RequestMapping(value = "/square/same/item/rec", method = {RequestMethod.POST})
public DpsDataResult getRecSame(@RequestBody Request req, HttpServletRequest request) {
try {
DpsRequest dpsRequest = new DpsRequest(req);
dpsRequest.getRequest().setSence("sameSquare");
List list = dpsRecProcessor.process(dpsRequest);
return DpsDataResult.successWithData(list);
} finally {
MDC.remove("requestId");
}
}
```
**组件**
```
demo 的merage层
@Service
@LayerAnn(layer = LayerEnum.MERAGE)
public class CommunityMerage implements ProcessInterface {
@Override
public List doProcess(DpsRequest dpsRequest, List list) {
return list;
}
}
```