摘要: 业务背景 该业务是报表查询类业务:要求从销售出库数据(存储于ElasticSearch索引中)中,按照管理者分组聚合查询各个管理者一定时间段内的动销汇总数据,如出库金额、毛利率等。 但由于出库单索引中,只记录了每条出库记录的货主(商品持有人),而没有记录这些商品持有人的管理者(因为管理者和货主的关系 阅读全文
posted @ 2022-12-31 02:02 天地的召唤 阅读(1729) 评论(0) 推荐(0)
摘要: JDK HttpClient 阶段总结和感想 JDK HttpClient 阶段总结和感想 前几篇文章,从使用出发,比较详细地从源码上剖析了JDK11 引入的HttpClient,认识了HttpClient的结构和功能,也见证了HttpClient在进行无加密的Http1.1请求时的完整生命历程。 后续有机会,将会介绍Https及Http2请求 阅读全文
posted @ 2022-01-01 16:38 天地的召唤 阅读(536) 评论(2) 推荐(0)
摘要: JDK HttpClient 单次请求的生命周期 HttpClient 单次请求的生命周期 1. 简述 上篇我们通过流程图和时序图,简要了解了HttpClient的请求处理流程,并重点认识了其对用户请求的修饰和对一次用户请求可能引发的多重请求——响应交换的处理。本篇,我们以最基础的Http1.1为例,深入单次请求的处理过程,见证其完整的生命历程。 阅读全文
posted @ 2021-12-31 23:49 天地的召唤 阅读(983) 评论(0) 推荐(0)
摘要: JDK HttpClient 多重请求-响应的处理 HttpClient 多重请求-响应的处理 1. 简述 上篇介绍了JDK HttpClient客户端的构建和启动。在客户端构建完成时,后台已经启动了一个选择器管理线程,负责轮询并分发I/O事件。而I/O事件的触发,就和请求——响应的过程密切相关。而我们将要看到,一次用户请求的执行,并非简单的发送—— 阅读全文
posted @ 2021-12-31 23:35 天地的召唤 阅读(798) 评论(0) 推荐(0)
摘要: JDK HttpClient客户端的构建和启动 HttpClient客户端的构建和启动 1. 简述 上篇简单测试过,Http Client 的性能相对高效。那么,这样一个客户端,又是怎样构建的呢?短短的构建代码,背后又发生了什么呢? 简而言之,HttpClient的构建使用了建造者模式,在构建时同时产生了HttpClient的两个实现类对应的对象 阅读全文
posted @ 2021-12-31 23:30 天地的召唤 阅读(1191) 评论(0) 推荐(0)
摘要: JDK Httpclient 使用和性能测试 Httpclient 使用和性能测试 上篇,通过简介和架构图,我们对HttpClient有了初步的了解。 本篇我们展示HttpClient的简单使用,同时为了说明httpclient的使用性能,我们将Httpclient的同步和异步模式与apache的Httpclient4作比较。。 1. Http 阅读全文
posted @ 2021-12-31 23:20 天地的召唤 阅读(1977) 评论(0) 推荐(0)
摘要: JDK httpClient 详解(源码级分析)——概览及架构篇 1. 前言 2018年9月,伴随着java 11的发布,内置的httpclient正式登上了历史的舞台。此前,JDK内置的http工具URLConnection性能羸弱,操作繁琐,饱受诟病,也因此令如Apache 的 Httpclient, Square的 OKHttp 这样的第三方客户端大放异彩。 阅读全文
posted @ 2021-12-31 22:48 天地的召唤 阅读(2009) 评论(0) 推荐(1)