统一待办推送的补偿推送机制和熔断机制可以保证数据在网络异常恢复之后,继续推送。但是目前还有三个方向可以优化:
1、控制并发:正常推送和补偿推送并行,为了防止数据推送并发异常,增加分布式锁机制针对同一个推送配置,同一条流程;
2、简化补偿:当用户在一个节点反复操作,会产生大量重复数据,给接收端造成压力,同时浪费同步数据的时间。可自动补偿推送同一个推送配置、同一个requestId 同一个realUserId的数据只获取最后一条异常数据推送,推送时如果成功将之前失败、异常数据同一个推送配置、同一个requestId 同一个realUserId的数据进行更新为忽略;
3、按照流程时间戳抓取同一批次操作,重新进行完整推送。
功能设置
功能入口:后台管理中心-集成中心-统一待办推送设置(付费功能)-功能设置
①携带后台框架及二级菜单路由:/info/todoclient/setting
②携带二级菜单路由:/sp/integration/todoclient/setting
③不携带菜单路由:/sp/inttodoclient/setting
此处可设置手动推荐优化方案功能是否开启
推送数据展示
勾选推送日志中数据进行补偿推送时,当功能设置中手动推送:推荐优化方案启用开关开启时进行展示。
展示页面中可根据实际场景选择对应优化方案进行调整:控制开关“过滤重复数据”、“更换最新数据”、“补偿推送其他失败数据”进行重新加载推送数据列表。也可选择“推送原数据”按钮进行原始选择数据推送。
1)过滤重复数据:当勾选的补偿数据中同一条流程,接收人相同的数据存在多条时,按照最新数据补偿,时效较长的数据忽略
示例:人员sunone待办:"receivets":"1695779623817"、已办:"receivets":"1695779624953",已办为最新数据 忽略待办数据。
2)更换最新数据:当勾选的补偿数据不是当前人员的最新数据,则按照规则只推送当前人员在这条流程中的最新记录
示例:人员sunone待办:"receivets":"1695779623817"、已办:"receivets":"1695779624953",已办为最新数据
3)补偿推送其他失败数据:当勾选的补偿数据中,相同的流程存在其他人员异常数据则一同补偿
示例:人员sunone流程、ID:913022408424701953,同一系统相同流程其他人员suntwo异常数据可一同补偿