创建SQS队列,用于使用春季启动的事件



我有一个spring-boot应用程序,它需要使用不同类型的事件。事件将由另一个服务发布到SQS队列。

我的问题是,我是否必须创建一个SQS队列来发布/消费所有事件,还是必须为每个发布/消费的事件创建一个SQS队列?

可以为每条消息创建一个队列,但我不建议每次添加新消息时都必须为每个队列添加一个侦听器。

您可以做的第一件事是创建一个包含主题的消息结构。一旦您的SQS处理程序收到消息,它就会检查主题并将其路由到正确的处理程序。我仍然不喜欢这个选项,因为这意味着你正在实现的是一个消息代理,我不认为这是你的目标。

最好的解决方案是使用SNS并将每条消息发布到不同的主题。然后配置SNS将消息路由到该SQS,并让您的spring-SQS消息处理程序根据主题获得正确的处理程序。虽然这个解决方案与前一个类似,但这里使用SNS使您能够将消息发布到多个队列(客户端(和句柄,并且您可以获得消息之外的主题,也就是它应该在的位置。

最新更新