文章预览
来源:blog.csdn.net/baidu_19473529 前言 技术手段 代码实现 使用队列的超时解决Java 8 的 CompletableFuture 并没有 timeout 机制 小结 前言 请求合并到底有什么意义呢?我们来看下图。 假设我们3个用户(用户id分别是1、2、3),现在他们都要查询自己的基本信息,请求到服务器,服务器端请求数据库,发出3次请求。我们都知道数据库连接资源是相当宝贵的,那么我们怎么尽可能节省连接资源呢? 这里把数据库换成被调用的远程服务,也是同样的道理。 我们改变下思路,如下图所示。 我们在服务器端把请求合并,只发出一条SQL查询数据库,数据库返回后,服务器端处理返回数据,根据一个唯一请求ID,把数据分组,返回给对应用户。 技术手段 LinkedBlockQueue 阻塞队列 ScheduledThreadPoolExecutor 定时任务线程池 CompleteableFuture future 阻塞机制(Java 8 的 CompletableFuture 并
………………………………