首页 > 解决方案 > 具有后端服务器轮询其他 API 的 Web 应用程序的架构模式。

问题描述

我正在构建一个使用 Java/Spring Boot 作为后端的 Web 应用程序,并使用 Angular 5 作为前端。我认为技术栈对于这个问题并不重要。

关键部分是我需要后端轮询几个 RESTful API 来检索数据、存储并在未来对这些数据进行各种分析。目前主要只是简单的报告。

目前我还没有尝试构建微服务方法。该应用程序是单片的,我在 Spring Boot 端使用一个简单的调度程序来轮询 API。一些示例代码是这样的:

@Component
public class RestAPIDataScheduler
{
   @Scheduled(fixedRate = <<Polling Rate in Milliseconds>>)
   public void pollApis()
   {
   }
}

我追求更适合处理此类应用程序的最合适的架构模式(最有可能是微服务)。这是这里描述的简单 API 网关模式http://microservices.io/patterns/apigateway.html吗?

标签: javaspring-bootarchitecturemicroservices

解决方案


如果我理解正确,您正试图以给定的频率从各种来源获取数据。您不能使用弹簧批处理来安排定时作业吗?

如果要处理的数据变得更大/更长,您可以将要处理的响应数据提交到 RabbitMQ/Kafka 等队列系统并异步执行。


推荐阅读