# my-request-merge **Repository Path**: cwbshare/my-request-merge ## Basic Information - **Project Name**: my-request-merge - **Description**: 模拟高并发情景下的请求合并 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-02-01 - **Last Updated**: 2023-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # my-request-merge #### 介绍 模拟高并发情景下的请求合并,请求合并只适合查询的处理,而不是对写的处理,这个要特别注意。 #### 实现过程 请求的参数会不一样,但它们调用的服务是一样的,所以可以将参数合并,再写一个批量查询接口,将结果一次性查询出来,再逐个返回给对应参数的请求线程。这里是使用了定时任务,将10毫秒的请求一次合并处理,处理完后,通过CompletableFuture的complete方法通知到在等待数据的线程。每个线程在调用合并请求查询接口的时候,都会有一个局部变量CompletableFuture,就是利用CompletableFuture获取结果会死待的特性,才能在定时任务查出结果后返回给线程,而没有改变整个请求的流程,只是多待了一会而已。 #### 使用说明 运行测试类MyRequestMergeApplicationTests的测试方法queryCommodityV2Test可以模拟请求合并的功能。