Есть ли способ улучшить медленное сообщение publi sh в AWS SQS - PullRequest
0 голосов
/ 07 мая 2020

Я использую aws -sdk- java -v2 sdk для отправки сообщения в SQS. На моем локальном компьютере отправка одного сообщения займет 1678 миллисекунд. При дальнейшей отладке 4 мсек для создания клиента SQS, 1658 мсек для получения URL очереди из имени очереди и 9 мсек для отправки сообщения в очередь.

Тестовый код:

Клиент SQS:

    public SqsAsyncClient getSqsClient() {
    AwsCredentialsProvider credential = StaticCredentialsProvider
            .create(AwsBasicCredentials.create(clientId, clientSecret));
    return SqsAsyncClient.builder()
            .credentialsProvider(credential)
            .region(Region.of(region))
            .build();
}

Получить URL очереди:

    public String getQueueUrl(String queueName) throws ExecutionException, InterruptedException {
    return getSqsClient()
            .getQueueUrl(GetQueueUrlRequest.builder()
                    .queueName(queueName).build())
            .get()
            .queueUrl();
}

Чтобы отправить сообщение:

        SendMessageRequest request = SendMessageRequest.builder()
            .queueUrl(queueUrl)
            .messageBody(mapper.toJson(message))
            .build();
    connection.getSqsClient()
        .sendMessage(request);
...