0

我必须附加许多SQS队列以workers使用和处理消息(使用spring integration flow)。我最初的想法是有一个spring boot应用程序,每个 SQS 队列有 1 个通道(spring integration aws)。

这会像1 SQS -> 1 Channel -> 1 Flow

但是,这可能会导致maintainability, deployment,memory问题,我们将无法独立扩展每个工作人员。听起来像一个monolith of workers. 另一种选择是创建spring cloud function每个worker类型并将它们部署为lambda.

spring stack在(我想使用spring integrationand )中是否有针对此场景的其他解决方案reactor,这样我们可以独立扩展每个工作人员并独立管理每个工作人员的部署(听起来像是microservice每个工作人员的一个,但它没有域,只是一些处理逻辑,如验证,调用一些 api,存储到数据库

4

1 回答 1

1

即使它没有任何域和 REST 端点,您仍然可以将其视为微服务,因为它在从 SQS 队列中消费消息时被激活。因此,您使用 Spring Boot + Spring Integration AWS 的方向是正确的。您只需将 SQS 队列公开为配置属性,然后使用适当的扩展策略将应用程序部署到所需的环境中。

是的,您可能仍然可以为 AWS Lambda 编写 Spring Cloud 函数,但没有人阻止您在函数体中执行 Spring 集成逻辑。

于 2020-11-24T18:46:17.477 回答