首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >人工控制sqs?

人工控制sqs?
EN

Stack Overflow用户
提问于 2016-01-27 07:03:49
回答 1查看 40关注 0票数 1

目前,我们正在使用“RabbitMQ”进行可靠的消息传递,我们计划通过TCP移动SQS.RMQP监视器,当队列的任何使用者关闭时,它将自动重新排队处理消息。

SQS会监视它的所有奴隶吗?如果其中一个使用者在处理消息时停机,该消息在队列中是否可见?

我试图从文件中找出同样的情况,但却找不到。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-27 08:15:47

如果您所说的“奴隶”指的是SQS消费者,那么不会,SQS不会监视队列中的使用者。

简而言之,SQS的工作方式如下:

  • 使用者从队列中请求消息。
  • SQS将消息发送给使用者以进行处理,并使该消息对其他使用者暂时不可见。
  • 当使用者完成消息处理后,它将一个'DeleteMessage‘请求发送回SQS,而SQS则从队列中删除该项。
  • 如果消费者没有足够快地将deletemessage发回(在其可配置超时期间内),那么SQS将自动将消息放回队列中。

因此,SQS不会监视您的使用者,但是如果使用者请求消息--并且对它们不做任何操作--它们最终会回到队列中,由其他人处理。

但是,如果您的队列没有任何使用者,那么迟早(最多14天),这些消息将被完全删除(或者发送到一个死信队列,如果您设置的话)。

将队列使用者设置为一个自动缩放组通常是个好主意,通过一个健康检查可以验证它是否运行/处理正确。如果一个实例没有通过健康检查,它将被终止,一个新的实例被旋转,以继续队列中的工作。可以选择地,如果SQS队列的大小增加以满足峰值需求,则可以旋转额外的实例。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35030761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档