宜人贷蜂巢API网关技能解密之Netty行使实践
NioEventLoop的担任相关较量伟大,在AbstractScheduledEventExecutor 中,Netty 实现了 NioEventLoop 的 schedule 成果,即我们可以通过挪用一个 NioEventLoop 实例的 schedule 要领来运行一些按时使命。而在 SingleThreadEventLoop 中,又实现了使命行列的成果,通过它,我们可以挪用一个NioEventLoop 实例的 execute 要领来向使命行列中添加一个 task, 并由 NioEventLoop 举办调治执行。 凡是来说,NioEventLoop 负担着两种使命,第一个是作为 IO 线程,执行与 Channel 相干的 IO 操纵,包罗挪用 select 守候停当的 IO 变乱、读写数据与数据的处理赏罚等;而第二个使命是作为使命行列,执行 taskQueue 中的使命,譬喻用户挪用 eventLoop.schedule 提交的按时使命也是这个线程执行的。 详细的结构进程,见下: 建设使命行列tailTasks(内部为有界的LinkedBlockingQueue): 建设线程的使命行列taskQueue(内部为有界的LinkedBlockingQueue),以及使命过多防备体系宕机的拒绝计策rejectedHandler。 个中tailTasks和taskQueue均是使命行列,而优先级差异,taskQueue的优先级高于tailTasks,按时使命的优先级高于taskQueue。 五、ServerBootstrap初始化及启动 相识了Netty线程池NioEvenrLoopGroup的建设进程后,下面看下API网关处事ServerBootstrap的是怎样行使线程池引入处事中,为高并发会见处事的。 API网关ServerBootstrap初始化及启动代码,见下:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |