При подключении к AWS SQS с использованием AWS SDK, кажется, заметная задержка.
Это не так важно при запуске службы для потребления сообщений, поскольку после 3-7 секундной задержки при первом соединении сообщения начинают течь с хорошей скоростью –
НО, при публикации сообщений это большая проблема. Например, пользовательский веб-запрос занимает несколько дополнительных секунд для завершения из-за того, что соединение с AWS ожидает публикации сообщения. Это нарушает цель отправки сообщения, чтобы отложить время ожидания на фоновое задание.
Это проблема, связанная с 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) ]);