buffer-slayer是一个把请求在内存中buffer并批量发送的工具,适用于批量能显著提升性能的组件(redis-cliet、jdbc),支持一对一的回调。
快速启动io.bufferslayerbuffer-sprig-jdbc1.1.0ReporterProperties reporterProperties = ew ReporterProperties() .setBufferedMaxMessages(500) .setPedigMaxMessages(10000) .setMetrics("imemory") .setMetricsExporter("http") .setParallelismPerBatch(5) .setSederExecutor(ew ThreadPoolExecutor(200, 200, 0, TimeUit.MILLISECONDS, ew SychroousQueue()));BatchedJdbcTemplate template = ew BatchedJdbcTemplate(reporterProperties);template.setDataSource(dataSource);Promise promise = template.update(...);promise.doe(success -> ...) .fail(reject -> ...);吞吐量对比BechmarkModeCtScoreUitsBatchedJdbcTemplateBechmark.high_cotetio_batchedthrpt158709.042ops/sBatchedJdbcTemplateBechmark.high_cotetio_ubatchedthrpt15271.529ops/sBatchedJdbcTemplateBechmark.mild_cotetio_batchedthrpt152146.595ops/sBatchedJdbcTemplateBechmark.mild_cotetio_ubatchedthrpt15262.621ops/sBatchedJdbcTemplateBechmark.o_cotetio_batchedthrpt151194.852ops/sBatchedJdbcTemplateBechmark.o_cotetio_ubatchedthrpt15201.806ops/s
评论