AWS SQS ReceiveMessage 收到的消息少于请求的消息?
P粉894008490
P粉894008490 2023-12-24 10:50:53
[PHP讨论组]

我配置了一个简单的 SQS,并且我想一次处理 4 条消息。 在我的测试中,它有2条“可用”消息。当我收到消息时,一次只会产生 1 。我做错了什么?

sqs = boto3.client('sqs')
response = sqs.receive_message(
    QueueUrl=queue_url,
    MaxNumberOfMessages=4
)

P粉894008490
P粉894008490

全部回复(1)
P粉654894952

您没有做错任何事,这种行为是正常的。

这是由于 SQS(以及大多数 AWS 服务)的分布式性质造成的。基本上,并非所有节点都具有所有可用消息,并且您与之交谈的节点可能会返回 0 到 MaxNumberOfMessages 之间的任何数字(如果有可用的话)。要在一次调用中实际接收多条消息,您需要在队列中有 100 或 1000 多条消息,即使如此,您也可能会运气不好,收到的消息很少。

来自文档

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号