规则服务
2020-11-10 18:48:01 6 举报
规则服务
作者其他创作
大纲/内容
ConsumerDealUserTagEvent.receive()
1、从消息体中获取用户行为对象2、使用Redisson获取Redis的写锁3、通过客户id获取客户上下文4、CustomerService.queryBehaviourMetas()方法,发起Http请求获取行为元数据, 参数:行为对象的appId和action5、调用customerDeal()后释放写锁
规则服务deal-robot-server
ConsumerTimerTriggerEvent.receive()
EventProcessorForTimerTriggerEvent.process()
定时计划事件
1、使用Drools开源规则引擎框架,执行规则2、持久化用户上下文,并更更新Redis
DroolsCustomerDealEngineImpl.customerDeal()
EventProcessorForEventBehaviorLog.process()
topic:topic_deal_user_tag判断是否幂等(Redis):idempotenceComponent.hasKey(key))
客户领域事件
topic:timer_event_v5判断是否幂等(Redis):idempotenceComponent.hasKey(key))
1、使用Redisson获取Redis的写锁2、通过客户id获取客户上下文3、调用customerDeal()后释放写锁
ConsumerBehaviorLog.receive()
topic:customer_domain_event_v3判断是否幂等(Redis):idempotenceComponent.hasKey(key))
EventProcessorForDealUserTagChange.process()
1、从消息体中获取客户领域事件对象2、使用Redisson获取Redis的写锁3、通过客户id获取客户上下文4、调用customerDeal()后释放写锁
EventProcessorForCustomerDomainEvent.process()
用户标签
用户行为
Topic:behaviour_log_v3判断是否幂等(Redis):idempotenceComponent.hasKey(key))
ConsumerCustomerDomainEvent.receive()
1、从消息体中获取用户标签对象2、使用Redisson获取Redis的写锁3、通过客户id后获取客户上下文4、从客户上下文中获取标签集合并分类统计5、封装标签切换对象6、调用customerDeal()后释放写锁
0 条评论
下一页