百万架构整体流程图2
2020-11-13 17:49:40   3  举报             
     
         
 百万架构整体流程图2
    作者其他创作
 大纲/内容
 Link JS SDK(嵌套在推广资料里)
  index:summary_hour_behavior_log
  公众号收集数据
  实时流计算服务
  deal-flink-server
  deal-weixin-data-server
  查询操作
  DTS监听PolarDB的binlog
  deal-link-data-server
  Worker
  网站行为收集服务
  deal-core2-server
  Network Manager
  微信公众号
  微信事件处理服务
  原始筛选条件
  规则引擎服务
  ES
  action
  hour
  行为数据统计存储
  rule_id
   通用数据网关服务
  无筛选条件查询
  开始(点击推广资料)
  ...
  //修改网站访问记录结束时间webAccessLogController.updateLogEndTime()//修改网站访问记录结束时间webAccessLogController.updatePageViewEndTime()//更新网站行为记录结束时间webPageBehaviourLogController.updateWebPageBehaviourLogEndTime()//获取网站访问记录webAccessLogController.getWebAccessLog()//==============创建行为转发到deal-behavior-server服务===============////创建页面访问记录webAccessLogController.before.createWebPageViewLog()->webAccessLogService.createWebPageViewLog()->behaviourLogService.createActionLog()//创建网站行为记录webPageBehaviourLogController.before.createWebPageBehaviourLog()->webPageBehaviourLogService.createWebPageBehaviourLog()->behaviourLogService.createActionLog
  gw-wechat-event-kafka-server 
  topic_app_page_action_eventtopic_app_page_behavior_eventtopic_app_page_view_event
  nginx-server
  生产数据
  定时任务服务
  如果存在查询条件:存储查询条件集合
  topic:topic_wechat_events_proceed_00
  index:summary_hour_rule_action_log
  topic:topic_link_view_log
  user用户模型
  //创建dealUser行为记录behaviourLogController.before.submitBehaviourDatas()->behaviourLogService.submitBehaviourLogs()->self.createActionLogWithLocation()
  deal-robot-server
  Memory & I/O Manager
  API请求转发
  Working Memory(工作内存)
  deal_user_id
  Agenda(议程)
  data-gateway-server
  网关服务
  kafka
  微信网关服务
  行为日   志存储、更新
  开始(用户访问官网)
  nginx
  deal-timer-server
  返回filter_id
  behaviour_log_v3
  customer_context客户上下文模型
  customer_filter表id:9852c85d-7e61-42fc-bb31-31c6708d2b3cappId:04bb2ceb-fe0a-4866-870a-4a3b36b8e463creatorId:123410createAt:2020-09-23 00:38:15update:
  deal-filter-server
  gateWay.js//修改网站访问记录结束时间deal-user/:id/web-access-logs/:log_id/end//创建页面访问记录deal-user/:id/web-access-logs/:log_id/web-page-view-logs//修改网站访问记录结束时间deal-user/:id/web-access-logs/:log_id/web-page-view-logs/:view_log_id//创建网站行为记录deal-user/:deal_user_id/web-page-view-logs/:view_log_id/behaviour-logs//更新网站行为记录结束时间deal-user/:deal_user_id/web-page-view-logs/:view_log_id/behaviour-logs/:behaviour_log_id/end
  //消费kafka数据并统计每小时dealUser的行为Sink到ESStreamWindowCountForBehavior.main()
  deal-customer-search-server
  created
  行为统一处理服务
  TaskSlot
  DTS
  DTS订阅服务
  订阅kafka
  行为数   据存储
  data-gateway-serevr
  链接服务
  规则引擎业务模型
  微信解密服务
  筛选过滤模型关系图
  有条件查询
  部署图
  无条件查询
  deal-tag-server
  浏览官网收集数据流程
  发布&订阅kafka
  topic:topic_wechat_events_v3_00
  不同类型行为数据入口
  JS SDK(嵌套网站) 
  Android/IOS SDK
  rule规则模型
  Dataflow Grap
  customer_filter_condition客户筛选过滤条件模型
  统计数据SINK到ES
  消费行为数据和action数据
  接口:GET  /app/{app_id}/screening/customers1、调用筛选条件服务获取筛选条件filter    服务deal-filter-server  2、调用核心core2服务获取元数据metas   服务deal-core2-server3、根据filter和metas整合检索条件,调取ES进行检索
  JobManager
  行为日   志存储
  drools架构图
  deal-app-data-server
  Android/IOS SDK(嵌套在APP/小程序里)
  Actor System
  Execution Engine(执行引擎) 
  开始(公众号交互)
  请求筛选条件
  Kuick Deal 移动应用端行为数据服务
  Inference Engine(推理引擎)
  deal-api-server
  CheckpointCoordinator
  deal_app应用模型
  接口:GET  app/{app_id}/customer-metas
  customer_meta_data表id:154c3f12-5f4f-4633-8b3d-a73fb42f22f8appId:04bb2ceb-fe0a-4866-870a-4a3b36b8e463name:solomontype:texttitle:solomonisExt:1unique:0required:0visiable:1defaultValue:43createdAt:2020-09-12 18:22:40updatedAt:optionValues:[{\"value\":\"\
  deal-web-data2-server
  deal-web-data-server
  topic:behaviour_log_v3
  topic:rule_action_event
  deal-weixin-decrypt-server
  topic_deal_user_tag
  综合筛选服务
  customer_filter客户筛选过滤日志模型
  行为服务统一处理所有行为数据
  deal-server-data-server
  //1.消费kafka数据入口ConsumerWechatEvent.receive()->eventProcessor.process()//2.解密微信数据并重新发送到kafkaEventProcessor.process()->switch->producerForOfficialAccount.send()
  //发送数据到kafkaevent_controller.lua:producer.send//配置文件lualib/kuick/config_prod.lua
  \"query\":{        \"match\":{           \"sc_sex\
  rule_action_event
  deal-behavior-server
  封装筛选条件
  deal-customer-search-serevr
  count
  //消费kafka后的执行流程ConsumerCustomerDomainEvent.receive()->processor.process()(这里选择EventProcessorForEventBehaviorLog实现)->customerDealEngine.customerDeal() {   //1、根据appId从数据库中获取需要执行的规则   //2、规则引擎会编译这个规则,变成可执行的Java代码   //3、规则是根据业务逻辑,自己写的模板脚本(模板参考deal-open-weixin-server服务中resources->velocity          ->rules文件夹下的.vm文件)   //4、使用开源框架drools解析模板脚本            String appId = context.getAppId();               KnowledgeBase kBase = droolKBaseGenerator.getKBase(appId);   kSession.insert(context);  // 执行匹配成功的规则  kSession.fireAllRules();}====================================执行规则流程=======================================1、vm文件中会调用需要执行的action(格式:$ctx.execAction(\"actionName\
  topic_link_view_log
  JS SDK(嵌套网站)
  筛选条件服务
  appid
  topic_wechat_events_v3_00
  访问开课吧产品
  2、Pattern Matcher对Fact对象和Rule Base进行匹配
  统计每个用户每小时触发规则数
  customer_domain_event_v3
  消费数据
  增、删、改操作
  消费行为数据
  核心服务
  Rule Base(规则库)
  customer_meta_data客户元数据模型
  customer_id
  //1.刷新粉丝数据ConsumerForFansFlush.receive()//2.其他操作ConsumerForOther.receive()font color=\"#ff0000\
  deal-api-serevr(请求转发)
  第三方平台数据接收服务
  summary_hour_behavior_log
  客户搜索服务
  返回原数据
  PolarDB
  实时流计算流程图
  client
  TaskManager
  标签服务
  gateWay.js//创建网站访问记录deal-user/:id/web-access-logs
  API请求转发服务
  timer_event_v5
  返回筛选条件
  ES索引字段
  数据网关服务
  请求元数据
  发送数据到kafka
  有筛选条件查询
  //消费kafkaViewLogConsumer.ViewLogConsumer()->Mock转发到LinkViewLogController.dealViewLog()//处理日志并发布事件LinkViewLogService.dealViewLog()->publisher.publishEvent(viewLogVo)//LinkViewLogService类中加了@EventListener注解都会监听//entryUrlBehaviour方法监听事件后封装信息发送给deal-behavior-server服务LinkViewLogService.entryUrlBehaviour()->restTemplate.postForObject()
  Scheduler
  customer客户模型
  生成ES查询条件
  统计每个小时每个用户触发的每一种规则数
  接口:GET  /app/{app_id}/filter/{filter_id}获取指定filterId的条件集合:customerFilterConditionDao.conditionsList(filterId)
  customer_filter_condition表id:691ca9ee-c450-4408-b590-13cef17902edfilterId:9852c85d-7e61-42fc-bb31-31c6708d2b3cqueryName:sexqueryType:0queryRange:1createdAt:2020-09-23 00:38:16update:id:78d7aecd-a835-432f-8abd-4212980f8c2efilterId:9852c85d-7e61-42fc-bb31-31c6708d2b3cqueryName:solomonqueryType:0queryRange:123createdAt:2020-09-23 00:38:16update:
  生产action数据
  统计每个小时每个用户产生各种不同行为的次数是多少统计每个小时每个用户触发的每一种规则数是多少
  Data Streams
  drools规则引擎执行流程
  返回元数据
  summary_hour_rule_action_log
  rule_action_log规则行为日志模型
  接口: GET  /app/{app_id}/member/{kuick_user_id}/customers1、查询所有关联的KuickUserIds   方法:salesCustomerServiceImpl.parseAllToKuickUserIds()2、获取项目开关配置                    方法:salesCustomerServiceImpl.getCustomerSortByUpdateDateConfig()3、获取满足条件的客户                 方法:  customerDao.findCustomersBySales()
  Pattern Matcher(匹配器)
  customer_filter客户筛选记录模型
  推广资料链接收集
  dts-subscribe-server 
  AccessLogResource.create();参数:       系统内部的deal用户ID:                   dealUserId       网站:                                                site       客户名称:                                         clientName       客户端版本:                                     clientVersion       操作系统:                                         os       操作系统版本:                                  osVersion       网:                                                    net       系统:                                                system       来源网址:                                         referrer       网站访问时的原始地址,包括参数: url
  app_member应用成员模型
  请求原数据
  //发送数据到kafkawechat_event_controller.lua:producer.send//配置文件lualib/kuick/config_prod.lua
   
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
 