Spring 批处理写入器限制

我在做 spring 批处理项目,从数据库读取记录,然后写入rabbitmq,然后发送到 HTTP 消息网关。网关有150TPS,我需要将我的应用程序限制为 150TPS。有没有办法用弹簧批或其他更好的方法来节流


Qyouu
浏览 134回答 2
2回答

冉冉说

你能行的:在 Spring Batch 方面:使用 a ItemWriteListener#beforeWrite,使用Thread.sleep或使用诸如Guava或Resilience4j 之类的速率限制库来延迟项目的写入在 RabbitMQ 方面:使用延迟消息插件以所需的速率延迟消息的传递。希望这可以帮助。

BIG阳

您可以通过将最大块大小定义为您的 TPS 或小于该大小来尝试使用面向块的处理。您可以参考以下文档通过面向块的处理实现 Spring 批处理:https://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html希望能帮助到你...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java