java - Kafka 的流 API 可以帮助分发数百个分页请求吗?

标签 java spring-boot apache-kafka apache-kafka-streams hapi-fhir

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

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

最佳答案

您将获得429 errors因为你太快地提出了太多的请求;您需要实现速率限制。

至于是否使用Kafka,很重要的一点是你的结果集是否能够容纳在内存中。如果您可以将其放入内存中,那么我真的建议避免引入单独的服务( KISS )。如果没有,那么可以,您可以使用 Kafka。但我建议您仔细考虑是否可以使用关系数据存储,因为它们更加灵活。或者甚至可以直接读取/写入磁盘

关于java - Kafka 的流 API 可以帮助分发数百个分页请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59145603/

相关文章:

java - 为什么我尝试在 Spring Boot 应用程序上配置数据库连接时会出现此异常?创建名称为 'dataSource' 的 bean 时出错

java - @KafkaListener在kafka集群宕机后陷入死循环

python : Kafka consumer offset commit in the background

java - MailChimp 3.0 HTTP POST Json 示例

java - Tomcat WebSocket 连接已关闭,代码 : 1006 issue

java - 在 @ManyToMany 映射中,未将数据插入数据库(空指针异常)

spring-boot - Spring Redis 缓存中的 ClassCastException

apache-kafka - 如何在 KafkaStream 应用程序中获取 partitionId 和 TopicName

java - 为什么我们使用Interface来定义方法并在Concrete Class中实现和定义它的主体?

java - 使用抽象类实现接口(interface)