DolphinSchedule基于事件驱动的并发编程设计
2024-11-11 17:55:54 0 举报
DolphinSchedule的Master与Worker之间基于事件驱动的高性能并发编程
作者其他创作
大纲/内容
TaskExecuteProcessor
TaskCallbackService
1.send TASK_EXECUTE_RUNNING Command2. task handle3. send TASK_EXECUTE_RESPONSE Command
handle TASK_EXECUTE_RUNNING_ACKCommand
register TASK_KILL_RESPONSE
NettyClientHandler
NettyRemotingServer
NettyRemotingClient
NettyServerHandler
1. send TASK_EXEUTE_REQUEST COMMAND2. create TaskInstance3. create DISPATCH TaskEvent and update TaskInstance
handleTASK_EXECUTE_RESPONSECommand
TaskKillResponseProcessor
1. timeout or stop business2. send TASK_KILL_REQUEST Command
1. create RUNNINGTaskEvent 2. update TaskInstance3.send TASK_EXECUTE_RUNNING_ACK Commond
registerTASK_EXECUTE_RESPONSE_ACK
handleTASK_KILL_RESPONSECommand
TaskKillProcessor
handle TASK_EXECUTE_REQUESTCommand
registerTASK_EXECUTE_REQUESThandler
register TASK_EXECUTE_RUNNINGhandler
TaskPriorityQueueConsumer
1. kill process2. send TASK_KILL_RESPONSE Command
registerTASK_EXECUTE_RUNNING_ACK
TaskExecuteRunningProcessor
cached netty channel
1. create RESULT TaskEvent2. update TaskInstance3.send TASK_EXECUTE_RESPONSE_ACK Commond
WorkerServer
MasterServer
MasterSchedulerService
handle TASK_EXECUTE_RESPONSE_ACKCommand
TaskExecuteRunningAckProcessor
handle
handleTASK_EXECUTE_RUNNINGCommand
NettyExecutorManager
registerTASK_KILL_REQUESThandler
handle TASK_EXECUTE_REQUESTCommand
WorkerNettyProxyClient
MasterNettyProxyClient
register TASK_EXECUTE_RESPONSEhandler
TaskExecuteResponseAckProcessor
1. remove running cache2. remove cache channel
TaskExecuteResponseProcessor
cached netty channel
1. log kill response
1. remove running cache
0 条评论
回复 删除
下一页