我想实现一个无服务器函数来轮询 HTTP 端点并将响应发布到消息队列。
我最初的想法是使用 Spring 集成网关和适配器构建一个 Spring Boot 应用程序,用于 HTTP 轮询和发布到队列(并部署为 lambda)。弹簧堆栈中有更好的选择吗?
我看了spring cloud function,spring cloud stream,spring cloud task。有什么建议么?
我想实现一个无服务器函数来轮询 HTTP 端点并将响应发布到消息队列。
我最初的想法是使用 Spring 集成网关和适配器构建一个 Spring Boot 应用程序,用于 HTTP 轮询和发布到队列(并部署为 lambda)。弹簧堆栈中有更好的选择吗?
我看了spring cloud function,spring cloud stream,spring cloud task。有什么建议么?
在 Spring Cloud Stream 中,这种类型的微服务称为source
. 因此,您需要有一个Supplier
基于 Spring Integration Java DSL 的 bean 来构建一个简单的流程,让 Spring Cloud Stream 定期轮询它并将结果生成到绑定的目的地。
像这样的东西:
@Bean
public IntegrationFlow pollingHttpFlow() {
return IntegrationFlows
.from(Supplier.class, gateway -> gateway.beanName("httpSupplier"))
.handle(Http.outboundGateway("http://somehost"))
.get();
}
请参阅有关这种互操作性的博客文章:https ://spring.io/blog/2019/10/25/spring-cloud-stream-and-spring-integration