首页 > 解决方案 > Kafka 的流 API 能否帮助分发数百个分页请求?

问题描述

我正在构建一个应用程序,该应用程序可以访问实现分页的 FHIR API,并且每页最多只能提供 100 个结果。但是,我们的应用需要聚合这些页面,以便将有关整个结果集的元数据传递给 UI。

当我遍历大型结果集的页面时,我得到HTTP 状态 429 - Too many requests。我想知道将这些请求交给 kafka 服务是否会帮助我解决这个问题并可能提高性能。我已通读 Kafka 文档的介绍和用例部分,但仍不清楚实施此工具是否会有所帮助。

标签: javaspring-bootapache-kafkaapache-kafka-streamshapi-fhir

解决方案


您收到429 错误是因为您太快地发出太多请求;您需要实施速率限制。

至于是否使用 Kafka,很大一部分是你的结果集是否适合内存。如果您可以将其放入内存中,那么我真的建议您避免引入单独的服务(KISS)。如果没有,那么可以,您可以使用 Kafka。但我建议您长时间考虑是否可以使用关系数据存储,因为它们更加灵活。甚至可能直接读/写到磁盘


推荐阅读