例如,消息将发送到2016-05-19 23:29:05
的队列。它在2016-05-19 23:30:05
被消费者接收。处理完毕后,邮件将在2016-05-19 23:30:08
处删除。这意味着从发送到队列的消息到消费者接收它需要60秒,并且从生成的消息开始需要63秒。
此指标有助于监控消费者消费消息的速度。
为了获得消息的生命周期,我必须在发送到队列时为每条消息手动添加timestamp属性。消费者将检索时间戳并计算时间间隔。
SQS是否提供类似的API来获取消息的生命周期(我检查过SQS API而没有运气),还是有其他好主意?
答案 0 :(得分:2)
SQS消息上有一些属性可以让您测量消息在队列中所花费的时间。
您可以使用的一些属性是 SentTimestamp,CreatedTimestamp,LastModifiedTimestamp等
我正在查看javascript SDK,似乎只有在明确请求时才返回某些属性 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property
有关SQS消息中可用的所有属性的列表,请参阅http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html