是否可以有选择地从 AWS SQS 读取?
Is it possible to selectively read from AWS SQS?
我有一个用例。我想一直从 SQS 读取,除非发生另一个事件。
例如,我将足球新闻作为消息输入到 SQS 中。我想一直取回它们,除了进行现场比赛的时候。
除非有另一个事件完成这项工作,否则是否有可能阅读?
我浏览了文档和 Stack Overflow,但没有看到解决方案。
评论:我有一个小而周的服务,由于技术限制我不能增加它(memory/CPU,等等),但我仍然想要 2 “冲突”流程将在服务中。他们都应该与同一个 API 通信,我不希望他们发送相互冲突的请求。
有没有办法做到这一点,或者我是否必须使用 SQS 编写自定义通信器?
您不能 select 您希望从 SQS 中读取哪些邮件以及您不想从中读取哪些邮件 - SQS 中没有过滤功能。
如果您有需要随时处理的消息和其他只需要偶尔或分批处理的消息,您应该将它们放在单独的队列中并分别读取。
您没有提及从队列中读取的基础架构,但如果它是 EC2 上的进程,您可以在实时比赛进行时停止它,稍后再重新启动它。 SQS 专为异步消息传递而构建,最多可将消息存储 14 天(取决于您的配置),直到消费者可以阅读它们。
我有一个用例。我想一直从 SQS 读取,除非发生另一个事件。
例如,我将足球新闻作为消息输入到 SQS 中。我想一直取回它们,除了进行现场比赛的时候。
除非有另一个事件完成这项工作,否则是否有可能阅读?
我浏览了文档和 Stack Overflow,但没有看到解决方案。
评论:我有一个小而周的服务,由于技术限制我不能增加它(memory/CPU,等等),但我仍然想要 2 “冲突”流程将在服务中。他们都应该与同一个 API 通信,我不希望他们发送相互冲突的请求。
有没有办法做到这一点,或者我是否必须使用 SQS 编写自定义通信器?
您不能 select 您希望从 SQS 中读取哪些邮件以及您不想从中读取哪些邮件 - SQS 中没有过滤功能。
如果您有需要随时处理的消息和其他只需要偶尔或分批处理的消息,您应该将它们放在单独的队列中并分别读取。
您没有提及从队列中读取的基础架构,但如果它是 EC2 上的进程,您可以在实时比赛进行时停止它,稍后再重新启动它。 SQS 专为异步消息传递而构建,最多可将消息存储 14 天(取决于您的配置),直到消费者可以阅读它们。