nacos 使用 servlet 异步处理客户端配置长轮询

config 客户端
com.alibaba.nacos.client.config.impl.ClientWorker#ClientWorker
构造方法中有定时任务

com.alibaba.nacos.client.config.impl.ClientWorker#checkConfigInfo
com.alibaba.nacos.client.config.impl.ClientWorker#checkUpdateConfigStr
发出检查配置的请求

config server
com.alibaba.nacos.config.server.controller.ConfigController#listener
server 处理请求

com.alibaba.nacos.config.server.service.LongPollingService#addLongPollingClient
server 使用了 servlet 3.0 的异步机制,用 ScheduledExecutorService 线程池来返回延时响应,
使用 ClientLongPolling 封装了 AsyncContext,timeout 参数,通过 AsyncContext 可以获取 request 和 response,
在 ClientLongPolling 的 run 方法中,用 ScheduledExecutorService 执行定时任务。

业务逻辑是,配置变化,立马返回,无变化,则延迟发送响应,使用的是定时器 ScheduledExecutorService。


servlet 异步处理:
https://www.cnblogs.com/davenkin/p/async-servlet.html

final AsyncContext asyncContext = req.startAsync();
asyncContext 可以获取 request 和 response,
asyncContext.complete();

转载于:https://www.cnblogs.com/allenwas3/p/11260576.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值