项目经验-查询现网调用情况的实践
背景
Ruby 切 Java以后,需要每天统计Ruby线上用户调用情况。现网调用情况会被记录到API调用日志里,需要访问日志系统取读取调用情况然后进行分析。
方案设想
线上有多个环境,如果一个一个统计的话会很慢,使用多线程去查询各个环境,然后多线程执行暂停动作,如果都成功了,统一输出调用情况。
技术选型
CompletableFuture
:提供简单的方法来实现异步编程和任务组合,他的底层是基于ForkJoinPool
实现的,性能比较高,所以最终选则这个方案。
[代码总结] CompletableFuture并发执行多任务
访问日志系统查询接口调用使用HttpClients
[代码总结] 使用Apache HttpClient 4.x
进行进行一次Http请求
[Ref] 使用CompletableFuture完成并发编排,提升接口性能