Netty
程序员阿轩
Java领域:架构干货分享:互联网分析
展开
-
一文解析!Netty: DefaultPromise源码解读
一、为什么需要 io.netty.util.concurrent.Promise ?如果你有一个阻塞的方法,比如 Thread.sleep(1000),而又不想阻塞当前线程 A,只需要把该方法包装成一个任务由另一个线程 B 执行即可。ExecutorService pool = Executors.newFixedThreadPool(3);Future<Integer> future = pool.submit(() -> { Thread.sleep(1000);原创 2020-12-26 22:25:23 · 915 阅读 · 3 评论 -
Netty时间轮调度算法原理分析,再不了解你就out啦
一、时间轮介绍之前公司内部搭建的延迟队列服务有用到时间轮,但是一直没有了解过它的实现原理。最近有个和支付宝对接的项目,支付宝接口有流量控制,一定的时间内只允许 N 次接口调用,针对一些业务我们需要频繁调用支付宝开放平台接口,如果不对请求做限制,很容易触发流控告警。为了避免这个问题,我们按照一定延迟规则将任务加载进时间轮内,通过时间轮的调度来实现接口异步调用。很多开源框架都实现了时间轮算法,这里以 Netty 为例,看下 Netty 中时间轮是怎么实现的。1.1 快速入门下面是一个 A原创 2020-12-25 18:03:07 · 891 阅读 · 0 评论