# 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; } } ```