数据处理中心-2.0-架构详细图
2021-05-31 11:51:06 1 举报
数据处理中心-2.0-架构详细图
作者其他创作
大纲/内容
有提示类型,添加响应记录
termination 终止响应任务
terminationRecord 终止响应记录提醒
CommonTmallTask
updateTask(db,redis)
CommonConTask:stopRun
CommonConTask
data_center_operating_response_task(Hash)KEY:订单id_订单类型_规则名_区域类型
order_id 订单idorder_type 订单类型engineer_id 工程师iddepartment 区域类型rule_name 规则名tip_msg 规则提示语status 任务状态taskName 消费标识abnormalType 异常类型
data_center_operating_response_task(Hash)
Consumption
RedisTaskBoot
RuleBase/Impl
Rule
...
响应任务(data_center_operating_response_task)
order_id 订单idorder_type 订单类型engineer_id 工程师iddepartment 区域类型rule_name 规则名tip_msg 规则提示语task_name 消费标识status 任务状态valid_time 触发时间点create_time 创建时间
run(响应任务处理)
Redis
updateDb(将对应的规则提示语置空)
Consumption 消费
ResponseTaskBoot
Production生产 流程
Boot
DB
CommonRecordTask
Constant
order-action
create 创建响应任务
Consumption消费 流程
更新/回滚异常订单db和redis(*回滚响应记录)
Bean
数据处理中心(data_processing_center) - 架构图
callAPi
ECS(Event Compute Service)是一种基于业务事件的计算处理服务
data_processing_center_zset(Zset)
RedisProcess
RemindTaskProcess、ResponseTaskProcess: 1.Boot 前置消费类: ResponseTaskBoot:响应任务消费:while (true) usleep(100); 死循环读取data_processing_center_zset(Zset)排序值第一条任务,判断任务Score:触发时间点是否大于当前时间点。 2.Tasks 响应任务具体处理类 CommonConTask: 公共响应任务处理,包含run(执行响应任务处理)、stopRun(终止响应任务) CommonRecordTask: 公共响应记录处理,包含run(执行响应记录处理-生成提醒) CommonRemindTask: 公共响应前置提醒处理 CommonTmallTask: 公共天猫勤鸽工单提示任务处理
CommonRemindTask
judge(前置判断、处理)
getAllTask获取所有需要终止的任务
添加响应任务入db
Rules
Init初始化
衍生的Redis异步通知模式
RuleCenterConst
addExceptionLog,updateResponseRecord
匹配规则
事件行为组件(Base/Impl)
MqInit
data_processing_center_zset(Zset)Score:触发时间点
Hash Key:2328722_0_kefu_reminders_ten_minutes_0
getNameSpace
第一步:Init初始化(实例mq,消费mq,投递订单动作)实现方式:swoft2.0进程池 -> MqInit -> Production(RuleCenter)MqInit:通过while (true)实时消费订单流的动作传递给下一步骤
ruleCenter:ruleRun
Task
流程图
addAbnormalOrder,addMsgsysRepairOrder
RuleCenterConst规则常量中心: -公共规则属性,规则名称,动作名称,基础数据匹配别名、触发时间类型 -动作数据匹配Map,动作路由,动作字典 -规则文件具体路由Rule规则:分为(异常订单响应任务,响应记录提醒警告任务、响应警告任务、天猫勤鸽工单响应任务)规则基本信息。提示语、提示类型、时间范围
updateResponseRecord
数据处理
Init 初始化
Production生产
Tasks
run(响应记录处理)
规则中心(RuleCenter)
通知工单
Consumption消费
while(true)
task 生产流程 - Mq
DataBean
data_processing_center_temp_task(List)
order_id 订单iddate 预约时间天time 预约时间范围type 预约类型flag 订单类型engineer_id 工程师id|order_id 订单idflag 订单类型task_type 0更新预约/跟进时间 1未联系成功
RemindTaskProcess、ResponseTaskProcess
Task 数据结构
swoole进程管理机制:-某个工作进程遇到致命错误、主动退出时管理器会进行回收,避免出现僵尸进程-工作进程退出后,管理器会自动拉起、创建一个新的工作进程-主进程收到SIGTERM信号时将停止fork新进程,并kill所有正在运行的工作进程-主进程收到SIGUSR1信号时将将逐个kill正在运行的工作进程,并重新启动新的工作进程
Score=time()
redis事件行为 数据结构
订单运营(MessageResponse)
Production 生产
Production生产:一个模块 Bean: 基础数据对象实例。DataBean Constant: 规则常量,RedisKey,RuleCenterConst规则常量中心,Rule规则 Rules: 规则中心(读取规则、匹配规则、生产任务) Helper: 公共处理类*Init 初始化+Production 生产就是一个由基础数据匹配生成事件行为的一个流程
RemindTaskBoot
MqInitProcess
下一步骤
添加响应任务入redis
Production生产:一个模块
基础常量(如RedisKey)
process(处理)
衍生的Redis异步通知模式:TempTaskProcess(server前置进程):定义一个进程循环消费业务请求端的生产的redis事件队列Consumption->RedisTaskBoot->callApi主要是处理确认跟进(客服、工程师)、确认预约(客服、工程师)
0 条评论
下一页