【发布时间】:2015-07-22 01:31:48
【问题描述】:
使用 AWS SDK 连接到 AWS SQS 时,似乎有明显的延迟。
在启动服务时消费消息并不那么重要,因为在第一次连接上延迟 3-7 秒后,消息开始以良好的速度流动 -
但是,发布消息时这是一个大问题。例如,由于与 AWS 的连接正在等待发布消息,因此用户 Web 请求需要额外几秒钟才能完成。这违背了发送消息以将等待时间推迟到后台作业的目的。
DNS 解决了这个问题吗?联网?还是 AWS SQS 设置?我的网络应用程序不在 AWS 网络中,不确定这是否有问题。
简单发布消息代码:
$aws = \Aws\Common\Aws::factory(/* array with connection settings */);
$client = $aws->get('Sqs');
$queue = $client->getQueueUrl(['QueueName' => $queue]);
// This takes 3 - 5 seconds every time its called.
$res = $this->client->sendMessage([
'QueueUrl' => $queue['QueueUrl'],
'MessageBody' => json_encode($request)
]);
【问题讨论】:
-
总会有一些延迟,你不能做太多。因为它,我使用豆茎
-
我想我会切换到 Beanstalkd ......我们需要一个简单的队列,我们可以从多个工人那里消费。谢谢。
标签: php apache amazon-web-services amazon-sqs