事件
![](https://i-blog.csdnimg.cn/blog_migrate/10b83ee6d5047a53dec3d77e00aaa76f.png)
发布者
![](https://i-blog.csdnimg.cn/blog_migrate/94905d9a9d1e33067c8d85c2a8d78b89.png)
订阅者
![](https://i-blog.csdnimg.cn/blog_migrate/b2290b021550eac7fa8e35b775e66857.png)
消息通过NotifyCenter发送到EventPublisher的阻塞队列中,然后EventPublisher通知它的Subscriber来处理,Subscriber才是消息最终的处理器。
任务
![](https://i-blog.csdnimg.cn/blog_migrate/d31d89b7c671b8d35d347c90043f396e.png)
任务执行引擎
![](https://i-blog.csdnimg.cn/blog_migrate/b412f274bde17aaf1889aa27036692a6.png)
任务执行器
![](https://i-blog.csdnimg.cn/blog_migrate/14b60feb6c17d1700fae158e5c9de08c.png)
AbstractExecuteTask实现了Runnable接口,AbstractDelayTask没有;
AbstractDelayTask在NacosTaskExecuteEngine里要经过NacosTaskProcessor的处理才能变成AbstractExecuteTask,然后才可以执行;NacosTaskProcessor为任务业务的最终执行器。
时序图
![](https://i-blog.csdnimg.cn/blog_migrate/2a0e48cd021429395689348b0e6304ea.png)