主要观点总结
本文主要介绍了xxl-job的通信底层设计和整体流程,特别是其惊艳的设计方面。xxl-job使用netty http方式进行通信,并支持多种通信方式。其设计将通信细节隐藏在动态代理模式中,并通过全异步处理提高吞吐量。文章还详细描述了调度器通知执行器执行任务的流程,以及异步处理结果的同步获取方式。
关键观点总结
关键观点1: 通信底层介绍
xxl-job使用netty http方式进行通信,虽然也支持其他通信方式,但代码里固定的是netty http。通信细节隐藏在动态代理模式中。
关键观点2: 通信整体流程
文章以调度器通知执行器执行任务为例,详细描述了通信的活动图。整个处理流程中,设计独具匠心,将netty和多线程知识运用得行云流水。
关键观点3: 异步处理
xxl-job采用全异步处理方式,任务信息存储在LinkedBlockingQueue中,异步线程从这个队列中获取任务信息并执行。任务的处理结果也是异步返回,通过回调线程的阻塞队列进行。
关键观点4: 动态代理和同步获取处理结果
xxl-job通过动态代理模式进行远程通信。调度器向执行器发出消息后,该线程阻塞,等待执行器处理完毕后,将处理结果返回,唤醒被阻塞的线程。这一过程通过XxlRpcFutureResponse类实现线程的等待和唤醒。
免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。
原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过
【版权申诉通道】联系我们处理。