目前,我们正在使用“RabbitMQ”进行可靠的消息传递,我们计划通过TCP移动SQS.RMQP监视器,当队列的任何使用者关闭时,它将自动重新排队处理消息。
SQS会监视它的所有奴隶吗?如果其中一个使用者在处理消息时停机,该消息在队列中是否可见?
我试图从文件中找出同样的情况,但却找不到。
发布于 2016-01-27 08:15:47
如果您所说的“奴隶”指的是SQS消费者,那么不会,SQS不会监视队列中的使用者。
简而言之,SQS的工作方式如下:
因此,SQS不会监视您的使用者,但是如果使用者请求消息--并且对它们不做任何操作--它们最终会回到队列中,由其他人处理。
但是,如果您的队列没有任何使用者,那么迟早(最多14天),这些消息将被完全删除(或者发送到一个死信队列,如果您设置的话)。
将队列使用者设置为一个自动缩放组通常是个好主意,通过一个健康检查可以验证它是否运行/处理正确。如果一个实例没有通过健康检查,它将被终止,一个新的实例被旋转,以继续队列中的工作。可以选择地,如果SQS队列的大小增加以满足峰值需求,则可以旋转额外的实例。
https://stackoverflow.com/questions/35030761
复制相似问题